Merge branch 'dev' into 'master'

v1.8 merge

See merge request vmp2/vmprofiler!11
merge-requests/12/head v1.8
_xeroxz 4 years ago
commit 63fe1e07fa

3
.gitmodules vendored

@ -1,3 +1,6 @@
[submodule "dependencies/zydis"]
path = dependencies/zydis
url = https://github.com/zyantific/zydis.git
[submodule "dependencies/vtil"]
path = dependencies/vtil
url = https://githacks.org/_xeroxz/vtil.git

1
dependencies/vtil vendored

@ -0,0 +1 @@
Subproject commit 04eaba7cf2b30200ec894bc0b45d28e889ad1c1c

File diff suppressed because it is too large Load Diff

@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/README.md File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">D:/vmprofiler-qt/dependencies/vmprofiler/README.md File Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,101 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm.html" target="_self">vm</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1handler.html" target="_self">handler</a></td><td class="desc">contains all information pertaining to vm handler identification.. </td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1handler_1_1handler__t.html" target="_self">handler_t</a></td><td class="desc"><a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a> contains all the information for a vm handler such as its immidate value size (zero if there is no imm), the transformations applied to the imm to decrypt it (if any), a pointer to the profile (nullptr if there is none), and other meta data.. </td></tr>
<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1handler_1_1profile__t.html" target="_self">profile_t</a></td><td class="desc">pre defined vm handler profile containing all compiled time known information about a vm handler.. </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1instrs.html" target="_self">instrs</a></td><td class="desc">contains all functions related to virtual instructions.. </td></tr>
<tr id="row_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html" target="_self">virt_instr_t</a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1jcc__data.html" target="_self">jcc_data</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1code__block__t.html" target="_self">code_block_t</a></td><td class="desc"></td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classvm_1_1ctx__t.html" target="_self">ctx_t</a></td><td class="desc"><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> class is used to auto generate vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and other per-vm entry information... creating a <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> object can make it easier to pass around information pertaining to a given vm entry.. </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2.html" target="_self">vmp2</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v1.html" target="_self">v1</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v1_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v1_1_1entry__t.html" target="_self">entry_t</a></td><td class="desc"></td></tr>
<tr id="row_1_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v2.html" target="_self">v2</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v2_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v2_1_1entry__t.html" target="_self">entry_t</a></td><td class="desc"></td></tr>
<tr id="row_1_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_2_" class="arrow" onclick="toggleFolder('1_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v3.html" target="_self">v3</a></td><td class="desc"></td></tr>
<tr id="row_1_2_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v3_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_2_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v3_1_1code__block__t.html" target="_self">code_block_t</a></td><td class="desc"></td></tr>
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structzydis__instr__t.html" target="_self">zydis_instr_t</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/calc_jmp.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">calc_jmp.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="vmprofiler_8hpp_source.html">vmprofiler.hpp</a>&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm.html">vm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1calc__jmp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html">vm::calc_jmp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a20adb0aacf7a4ccf90484540c8004a30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">vm::calc_jmp::get</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a20adb0aacf7a4ccf90484540c8004a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> out of vm_entry... you can learn about <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> <a href="https://back.engineering/17/05/2021/#calc_jmp">here</a>. <a href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">More...</a><br /></td></tr>
<tr class="separator:a20adb0aacf7a4ccf90484540c8004a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963e598b01968c61ef992a9c7235cf8e"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">vm::calc_jmp::get_advancement</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a963e598b01968c61ef992a9c7235cf8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the advancement of the virtual instruction pointer... iterates over <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information... <a href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">More...</a><br /></td></tr>
<tr class="separator:a963e598b01968c61ef992a9c7235cf8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/include/calc_jmp.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">calc_jmp.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="transform_8hpp_source.html">transform.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="vmp2_8hpp_source.html">vmp2.hpp</a>&gt;</code><br />
</div>
<p><a href="calc__jmp_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm.html">vm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1calc__jmp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html">vm::calc_jmp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a20adb0aacf7a4ccf90484540c8004a30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">vm::calc_jmp::get</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a20adb0aacf7a4ccf90484540c8004a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> out of vm_entry... you can learn about <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> <a href="https://back.engineering/17/05/2021/#calc_jmp">here</a>. <a href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">More...</a><br /></td></tr>
<tr class="separator:a20adb0aacf7a4ccf90484540c8004a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963e598b01968c61ef992a9c7235cf8e"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">vm::calc_jmp::get_advancement</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a963e598b01968c61ef992a9c7235cf8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the advancement of the virtual instruction pointer... iterates over <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information... <a href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">More...</a><br /></td></tr>
<tr class="separator:a963e598b01968c61ef992a9c7235cf8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/include/calc_jmp.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">calc_jmp.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="calc__jmp_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="transform_8hpp.html">transform.hpp</a>&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="vmp2_8hpp.html">vmp2.hpp</a>&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="namespacevm.html"> 5</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacevm_1_1calc__jmp.html">vm::calc_jmp</a></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;{</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">get</a>( <a class="code" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="code" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp );</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; std::optional&lt; vmp2::exec_type_t &gt; <a class="code" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">get_advancement</a>( <span class="keyword">const</span> <a class="code" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp );</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;} <span class="comment">// namespace vm::calc_jmp</span></div>
<div class="ttc" id="anamespacevm_1_1calc__jmp_html"><div class="ttname"><a href="namespacevm_1_1calc__jmp.html">vm::calc_jmp</a></div><div class="ttdef"><b>Definition:</b> calc_jmp.hpp:6</div></div>
<div class="ttc" id="anamespacevm_1_1calc__jmp_html_a20adb0aacf7a4ccf90484540c8004a30"><div class="ttname"><a href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">vm::calc_jmp::get</a></div><div class="ttdeci">bool get(zydis_routine_t &amp;vm_entry, zydis_routine_t &amp;calc_jmp)</div><div class="ttdoc">extracts calc_jmp out of vm_entry... you can learn about calc_jmp here.</div><div class="ttdef"><b>Definition:</b> calc_jmp.cpp:5</div></div>
<div class="ttc" id="anamespacevm_1_1calc__jmp_html_a963e598b01968c61ef992a9c7235cf8e"><div class="ttname"><a href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">vm::calc_jmp::get_advancement</a></div><div class="ttdeci">std::optional&lt; vmp2::exec_type_t &gt; get_advancement(const zydis_routine_t &amp;calc_jmp)</div><div class="ttdoc">gets the advancement of the virtual instruction pointer... iterates over calc_jmp for LEA,...</div><div class="ttdef"><b>Definition:</b> calc_jmp.cpp:16</div></div>
<div class="ttc" id="atransform_8hpp_html"><div class="ttname"><a href="transform_8hpp.html">transform.hpp</a></div></div>
<div class="ttc" id="avmp2_8hpp_html"><div class="ttname"><a href="vmp2_8hpp.html">vmp2.hpp</a></div></div>
<div class="ttc" id="avmutils_8hpp_html_a5fdde6e9d3e6c6eca28ecadf2e837d3c"><div class="ttname"><a href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a></div><div class="ttdeci">std::vector&lt; zydis_instr_t &gt; zydis_routine_t</div><div class="ttdef"><b>Definition:</b> vmutils.hpp:29</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/vmprofiles/call.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html">vmprofiles</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">call.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="vmprofiler_8hpp_source.html">vmprofiler.hpp</a>&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm.html">vm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html">vm::handler</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all information pertaining to vm handler identification... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler_1_1profile"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1profile.html">vm::handler::profile</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler_1_1profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all profiles defined, as well as a vector of all of the defined profiles... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_J">J</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_Z">Z</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a name="letter_C">C</a></dt>
<dd><a class="el" href="structvm_1_1instrs_1_1code__block__t.html">code_block_t</a> (<a class="el" href="namespacevm_1_1instrs.html">vm::instrs</a>)</dd><dd><a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">code_block_t</a> (<a class="el" href="namespacevmp2_1_1v3.html">vmp2::v3</a>)</dd><dd><a class="el" href="classvm_1_1ctx__t.html">ctx_t</a> (<a class="el" href="namespacevm.html">vm</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_E">E</a></dt>
<dd><a class="el" href="structvmp2_1_1v1_1_1entry__t.html">entry_t</a> (<a class="el" href="namespacevmp2_1_1v1.html">vmp2::v1</a>)</dd><dd><a class="el" href="structvmp2_1_1v2_1_1entry__t.html">entry_t</a> (<a class="el" href="namespacevmp2_1_1v2.html">vmp2::v2</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_F">F</a></dt>
<dd><a class="el" href="structvmp2_1_1v1_1_1file__header.html">file_header</a> (<a class="el" href="namespacevmp2_1_1v1.html">vmp2::v1</a>)</dd><dd><a class="el" href="structvmp2_1_1v2_1_1file__header.html">file_header</a> (<a class="el" href="namespacevmp2_1_1v2.html">vmp2::v2</a>)</dd><dd><a class="el" href="structvmp2_1_1v3_1_1file__header.html">file_header</a> (<a class="el" href="namespacevmp2_1_1v3.html">vmp2::v3</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_H">H</a></dt>
<dd><a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a> (<a class="el" href="namespacevm_1_1handler.html">vm::handler</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_J">J</a></dt>
<dd><a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a> (<a class="el" href="namespacevm_1_1instrs.html">vm::instrs</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_P">P</a></dt>
<dd><a class="el" href="structvm_1_1handler_1_1profile__t.html">profile_t</a> (<a class="el" href="namespacevm_1_1handler.html">vm::handler</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_V">V</a></dt>
<dd><a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> (<a class="el" href="namespacevm_1_1instrs.html">vm::instrs</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_Z">Z</a></dt>
<dd><a class="el" href="structzydis__instr__t.html">zydis_instr_t</a></dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="classvm_1_1ctx__t.html">ctx_t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">vm::ctx_t Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d">calc_jmp</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad">ctx_t</a>(std::uintptr_t module_base, std::uintptr_t image_base, std::uintptr_t image_size, std::uintptr_t vm_entry_rva)</td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f">exec_type</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a9cec1f42d21b006cba4ac370d5962869">image_base</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a469ea113041b62e9a044db8e56fa78cb">image_size</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2">init</a>()</td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a41019acb80ba763e3154c4417b133b5a">module_base</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm_entry</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3">vm_entry_rva</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d">vm_handlers</a></td><td class="entry"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,325 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::ctx_t Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="classvm_1_1ctx__t.html">ctx_t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classvm_1_1ctx__t-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">vm::ctx_t Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> class is used to auto generate vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and other per-vm entry information... creating a <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> object can make it easier to pass around information pertaining to a given vm entry...
<a href="classvm_1_1ctx__t.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="vmctx_8hpp_source.html">vmctx.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aac2f090b11989dacf989648f751f77ad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad">ctx_t</a> (std::uintptr_t <a class="el" href="classvm_1_1ctx__t.html#a41019acb80ba763e3154c4417b133b5a">module_base</a>, std::uintptr_t <a class="el" href="classvm_1_1ctx__t.html#a9cec1f42d21b006cba4ac370d5962869">image_base</a>, std::uintptr_t <a class="el" href="classvm_1_1ctx__t.html#a469ea113041b62e9a044db8e56fa78cb">image_size</a>, std::uintptr_t <a class="el" href="classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3">vm_entry_rva</a>)</td></tr>
<tr class="memdesc:aac2f090b11989dacf989648f751f77ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor for <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a>... all information for a given vm entry must be provided... <a href="classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad">More...</a><br /></td></tr>
<tr class="separator:aac2f090b11989dacf989648f751f77ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f24e3ed32d1cca86c296dd8dae4b6d2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2">init</a> ()</td></tr>
<tr class="memdesc:a7f24e3ed32d1cca86c296dd8dae4b6d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">init all per-vm entry data such as vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and vm handlers... <a href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2">More...</a><br /></td></tr>
<tr class="separator:a7f24e3ed32d1cca86c296dd8dae4b6d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a41019acb80ba763e3154c4417b133b5a"><td class="memItemLeft" align="right" valign="top">const std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a41019acb80ba763e3154c4417b133b5a">module_base</a></td></tr>
<tr class="separator:a41019acb80ba763e3154c4417b133b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cec1f42d21b006cba4ac370d5962869"><td class="memItemLeft" align="right" valign="top">const std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a9cec1f42d21b006cba4ac370d5962869">image_base</a></td></tr>
<tr class="separator:a9cec1f42d21b006cba4ac370d5962869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44b4eb5513ad87a12173e599591847c3"><td class="memItemLeft" align="right" valign="top">const std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3">vm_entry_rva</a></td></tr>
<tr class="separator:a44b4eb5513ad87a12173e599591847c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a469ea113041b62e9a044db8e56fa78cb"><td class="memItemLeft" align="right" valign="top">const std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a469ea113041b62e9a044db8e56fa78cb">image_size</a></td></tr>
<tr class="separator:a469ea113041b62e9a044db8e56fa78cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1451637395107d39f69b097a07ef9a0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f">exec_type</a></td></tr>
<tr class="memdesc:a1451637395107d39f69b097a07ef9a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">the order in which VIP advances... <a href="classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f">More...</a><br /></td></tr>
<tr class="separator:a1451637395107d39f69b097a07ef9a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40f0524813578bcddf9ded1e74443793"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm_entry</a></td></tr>
<tr class="separator:a40f0524813578bcddf9ded1e74443793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed0dfa1748035f48bda0f59f76643d8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d">calc_jmp</a></td></tr>
<tr class="separator:aed0dfa1748035f48bda0f59f76643d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa31b5bd78861dbd2c5cf04af81aa4d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">vm::handler::handler_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d">vm_handlers</a></td></tr>
<tr class="memdesc:a0fa31b5bd78861dbd2c5cf04af81aa4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">all the vm handlers for the given vm entry... <a href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d">More...</a><br /></td></tr>
<tr class="separator:a0fa31b5bd78861dbd2c5cf04af81aa4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> class is used to auto generate vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and other per-vm entry information... creating a <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> object can make it easier to pass around information pertaining to a given vm entry... </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aac2f090b11989dacf989648f751f77ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac2f090b11989dacf989648f751f77ad">&#9670;&nbsp;</a></span>ctx_t()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">vm::ctx_t::ctx_t </td>
<td>(</td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>module_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>image_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>image_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>vm_entry_rva</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>default constructor for <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a>... all information for a given vm entry must be provided... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">module_base</td><td>the linear virtual address of the module base...</td></tr>
<tr><td class="paramname">image_base</td><td>image base from optional nt header... <a href="https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64">IMAGE_OPTIONAL_HEADER64</a>...</td></tr>
<tr><td class="paramname">image_size</td><td>image size from optional nt header... <a href="https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64">IMAGE_OPTIONAL_HEADER64</a>...</td></tr>
<tr><td class="paramname">vm_entry_rva</td><td>relative virtual address from the module base address to the first push prior to a vm entry...</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7f24e3ed32d1cca86c296dd8dae4b6d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f24e3ed32d1cca86c296dd8dae4b6d2">&#9670;&nbsp;</a></span>init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::ctx_t::init </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>init all per-vm entry data such as vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and vm handlers... </p>
<dl class="section return"><dt>Returns</dt><dd>returns true if no errors...</dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aed0dfa1748035f48bda0f59f76643d8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed0dfa1748035f48bda0f59f76643d8d">&#9670;&nbsp;</a></span>calc_jmp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> vm::ctx_t::calc_jmp</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1451637395107d39f69b097a07ef9a0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1451637395107d39f69b097a07ef9a0f">&#9670;&nbsp;</a></span>exec_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a> vm::ctx_t::exec_type</td>
</tr>
</table>
</div><div class="memdoc">
<p>the order in which VIP advances... </p>
</div>
</div>
<a id="a9cec1f42d21b006cba4ac370d5962869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cec1f42d21b006cba4ac370d5962869">&#9670;&nbsp;</a></span>image_base</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::uintptr_t vm::ctx_t::image_base</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a469ea113041b62e9a044db8e56fa78cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a469ea113041b62e9a044db8e56fa78cb">&#9670;&nbsp;</a></span>image_size</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::uintptr_t vm::ctx_t::image_size</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a41019acb80ba763e3154c4417b133b5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41019acb80ba763e3154c4417b133b5a">&#9670;&nbsp;</a></span>module_base</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::uintptr_t vm::ctx_t::module_base</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a40f0524813578bcddf9ded1e74443793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40f0524813578bcddf9ded1e74443793">&#9670;&nbsp;</a></span>vm_entry</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> vm::ctx_t::vm_entry</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a44b4eb5513ad87a12173e599591847c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44b4eb5513ad87a12173e599591847c3">&#9670;&nbsp;</a></span>vm_entry_rva</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::uintptr_t vm::ctx_t::vm_entry_rva</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0fa31b5bd78861dbd2c5cf04af81aa4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fa31b5bd78861dbd2c5cf04af81aa4d">&#9670;&nbsp;</a></span>vm_handlers</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">vm::handler::handler_t</a> &gt; vm::ctx_t::vm_handlers</td>
</tr>
</table>
</div><div class="memdoc">
<p>all the vm handlers for the given vm entry... </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/vmprofiler-qt/dependencies/vmprofiler/include/<a class="el" href="vmctx_8hpp_source.html">vmctx.hpp</a></li>
<li>D:/vmprofiler-qt/dependencies/vmprofiler/src/<a class="el" href="vmctx_8cpp.html">vmctx.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/vmlifters Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_34caf5031dac7df8f41881fc650fad9e.html">vmlifters</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">vmlifters Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:vmlifters_2add_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2add_8cpp.html">add.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2jmp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2jmp_8cpp.html">jmp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2lconst_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2lconst_8cpp.html">lconst.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2lflags_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2lflags_8cpp.html">lflags.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2lreg_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2lreg_8cpp.html">lreg.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2lvsp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2lvsp_8cpp.html">lvsp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2nand_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2nand_8cpp.html">nand.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2pushvsp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2pushvsp_8cpp.html">pushvsp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2read_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2read_8cpp.html">read.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2shr_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2shr_8cpp.html">shr.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2sreg_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2sreg_8cpp.html">sreg.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_2vmexit_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_2vmexit_8cpp.html">vmexit.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/vmprofiles Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html">vmprofiles</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">vmprofiles Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:vmprofiles_2add_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2add_8cpp.html">add.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:call_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="call_8cpp.html">call.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:div_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="div_8cpp.html">div.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2jmp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2jmp_8cpp.html">jmp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2lconst_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2lconst_8cpp.html">lconst.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2lflags_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2lflags_8cpp.html">lflags.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2lreg_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2lreg_8cpp.html">lreg.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2lvsp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2lvsp_8cpp.html">lvsp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mul_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mul_8cpp.html">mul.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2nand_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2nand_8cpp.html">nand.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2pushvsp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2pushvsp_8cpp.html">pushvsp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2read_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2read_8cpp.html">read.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:shl_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="shl_8cpp.html">shl.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2shr_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2shr_8cpp.html">shr.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2sreg_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2sreg_8cpp.html">sreg.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_2vmexit_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_2vmexit_8cpp.html">vmexit.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:write_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="write_8cpp.html">write.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">src Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:dir_34caf5031dac7df8f41881fc650fad9e"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_34caf5031dac7df8f41881fc650fad9e.html">vmlifters</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_41b4d5d37872f2c0144673a67fd94b20"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html">vmprofiles</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:calc__jmp_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="calc__jmp_8cpp.html">calc_jmp.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmctx_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmctx_8cpp.html">vmctx.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmhandler_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmhandler_8cpp.html">vmhandler.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vminstrs_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vminstrs_8cpp.html">vminstrs.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmutils_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmutils_8cpp.html">vmutils.cpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/include Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">include Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:calc__jmp_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="calc__jmp_8hpp.html">calc_jmp.hpp</a> <a href="calc__jmp_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:transform_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="transform_8hpp.html">transform.hpp</a> <a href="transform_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmctx_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmctx_8hpp.html">vmctx.hpp</a> <a href="vmctx_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmhandlers_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmhandlers_8hpp.html">vmhandlers.hpp</a> <a href="vmhandlers_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vminstrs_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vminstrs_8hpp.html">vminstrs.hpp</a> <a href="vminstrs_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmlifters_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmlifters_8hpp.html">vmlifters.hpp</a> <a href="vmlifters_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmp2_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmp2_8hpp.html">vmp2.hpp</a> <a href="vmp2_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiler_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiler_8hpp.html">vmprofiler.hpp</a> <a href="vmprofiler_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmprofiles_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmprofiles_8hpp.html">vmprofiles.hpp</a> <a href="vmprofiles_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:vmutils_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vmutils_8hpp.html">vmutils.hpp</a> <a href="vmutils_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/vmprofiles/div.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html">vmprofiles</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">div.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="vmprofiler_8hpp_source.html">vmprofiler.hpp</a>&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm.html">vm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html">vm::handler</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all information pertaining to vm handler identification... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler_1_1profile"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1profile.html">vm::handler::profile</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler_1_1profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all profiles defined, as well as a vector of all of the defined profiles... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,121 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="calc__jmp_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="calc__jmp_8hpp.html" target="_self">calc_jmp.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="transform_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="transform_8hpp.html" target="_self">transform.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmctx_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmctx_8hpp.html" target="_self">vmctx.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmhandlers_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmhandlers_8hpp.html" target="_self">vmhandlers.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vminstrs_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vminstrs_8hpp.html" target="_self">vminstrs.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmlifters_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmlifters_8hpp.html" target="_self">vmlifters.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmp2_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmp2_8hpp.html" target="_self">vmp2.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmprofiler_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmprofiler_8hpp.html" target="_self">vmprofiler.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmprofiles_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmprofiles_8hpp.html" target="_self">vmprofiles.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="vmutils_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="vmutils_8hpp.html" target="_self">vmutils.hpp</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')">&#160;</span><a class="el" href="dir_34caf5031dac7df8f41881fc650fad9e.html" target="_self">vmlifters</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2add_8cpp.html" target="_self">add.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2jmp_8cpp.html" target="_self">jmp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2lconst_8cpp.html" target="_self">lconst.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2lflags_8cpp.html" target="_self">lflags.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2lreg_8cpp.html" target="_self">lreg.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2lvsp_8cpp.html" target="_self">lvsp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_6_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2nand_8cpp.html" target="_self">nand.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_7_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2pushvsp_8cpp.html" target="_self">pushvsp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_8_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2read_8cpp.html" target="_self">read.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2shr_8cpp.html" target="_self">shr.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_10_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2sreg_8cpp.html" target="_self">sreg.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_11_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmlifters_2vmexit_8cpp.html" target="_self">vmexit.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9660;</span><span id="img_1_1_" class="iconfopen" onclick="toggleFolder('1_1_')">&#160;</span><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html" target="_self">vmprofiles</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2add_8cpp.html" target="_self">add.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="call_8cpp.html" target="_self">call.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="div_8cpp.html" target="_self">div.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2jmp_8cpp.html" target="_self">jmp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2lconst_8cpp.html" target="_self">lconst.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2lflags_8cpp.html" target="_self">lflags.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2lreg_8cpp.html" target="_self">lreg.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2lvsp_8cpp.html" target="_self">lvsp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="mul_8cpp.html" target="_self">mul.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2nand_8cpp.html" target="_self">nand.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2pushvsp_8cpp.html" target="_self">pushvsp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_11_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2read_8cpp.html" target="_self">read.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_12_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="shl_8cpp.html" target="_self">shl.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_13_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2shr_8cpp.html" target="_self">shr.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_14_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2sreg_8cpp.html" target="_self">sreg.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_15_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmprofiles_2vmexit_8cpp.html" target="_self">vmexit.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_1_16_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="write_8cpp.html" target="_self">write.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="calc__jmp_8cpp.html" target="_self">calc_jmp.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmctx_8cpp.html" target="_self">vmctx.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmhandler_8cpp.html" target="_self">vmhandler.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vminstrs_8cpp.html" target="_self">vminstrs.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="vmutils_8cpp.html" target="_self">vmutils.cpp</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

@ -0,0 +1,408 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a id="index_a"></a>- a -</h3><ul>
<li>addr
: <a class="el" href="structzydis__instr__t.html#ac180f5e918619afc94f594c91f0ec389">zydis_instr_t</a>
</li>
<li>address
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#afa8853308fc1039e4a2940594c3e443e">vm::handler::handler_t</a>
</li>
<li>advancement
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a1a95d42495b9ed9d96538a50c4d17347">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a8c4bd608935f89aeeacf8a24c46e12a7">vmp2::v2::file_header</a>
</li>
</ul>
<h3><a id="index_b"></a>- b -</h3><ul>
<li>block_addr
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#ad0439fc4249349e333d31ebed7f0344f">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>calc_jmp
: <a class="el" href="classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d">vm::ctx_t</a>
</li>
<li>code_block_count
: <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a24a59e4770152a60ba08b7e838fec2d4">vmp2::v3::file_header</a>
</li>
<li>code_block_offset
: <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a5114dc45569676f5d392832dfee2a46b">vmp2::v3::file_header</a>
</li>
<li>ctx_t()
: <a class="el" href="classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad">vm::ctx_t</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>decrypt_key
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#afc01193413881c666404d9ae89e41032">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad2ec680e1eb7beefeb8aad7f968e1401">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_e"></a>- e -</h3><ul>
<li>entry_count
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#ace410271f9fb3da72ee2aafcd16a23b8">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a2ac4c9cdbc65aa53a643a3c73d89be8f">vmp2::v2::file_header</a>
</li>
<li>entry_offset
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a66dde50694bdccead01e50137a9bbd5d">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a352666a046aaecff042304e326d2bf97">vmp2::v2::file_header</a>
</li>
<li>epoch_time
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#adcb827f599e85414725407ac46f031ee">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a30e53a5b6383237a52bf39c9ad7e3af6">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#adab57c587431f54d55c160a5895d9dfb">vmp2::v3::file_header</a>
</li>
<li>exec_type
: <a class="el" href="classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f">vm::ctx_t</a>
</li>
<li>extention
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a2d419cb79f8947e0cbb2b391a067d639">vm::handler::profile_t</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>handler_idx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a6eadb65583e755c34e5dfe94b1de9d58">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a0790f4f0961fc3ec556727f0e9eff292">vmp2::v2::entry_t</a>
</li>
<li>has_imm
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ac91bab4ece39b8424e9ef617333948fd">vm::instrs::virt_instr_t</a>
</li>
<li>has_jcc
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#affad18f3c23aeb243a00db2da0ea45e6">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>image_base
: <a class="el" href="classvm_1_1ctx__t.html#a9cec1f42d21b006cba4ac370d5962869">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a834187075d20d68bc3c44df466927018">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#ab4930fa2c29a3020bafbbb1de5cfe400">vmp2::v3::file_header</a>
</li>
<li>image_size
: <a class="el" href="classvm_1_1ctx__t.html#a469ea113041b62e9a044db8e56fa78cb">vm::ctx_t</a>
</li>
<li>imm
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a19d74c16a3d29041b59a8897d70a087c">vm::instrs::virt_instr_t</a>
</li>
<li>imm_size
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a7c5be45604678830c9f8b433c94ef830">vm::handler::handler_t</a>
, <a class="el" href="structvm_1_1handler_1_1profile__t.html#a0761c86417303eb402606a780ea90c30">vm::handler::profile_t</a>
, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a13ae413a43eaecb9f258a0a4f75b5e57">vm::instrs::virt_instr_t</a>
</li>
<li>init()
: <a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2">vm::ctx_t</a>
</li>
<li>instr
: <a class="el" href="structzydis__instr__t.html#a83f141fec54512c612709a4b3af10242">zydis_instr_t</a>
</li>
<li>instrs
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a6c080e14331c4092909c3b0f0c27367d">vm::handler::handler_t</a>
</li>
</ul>
<h3><a id="index_j"></a>- j -</h3><ul>
<li>jcc
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#a8531e96fe56f6f936293a6094271c497">vm::instrs::code_block_t</a>
, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a2671994201d68daf71d6bad7a666da16">vmp2::v3::code_block_t</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>magic
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a022ada89136cc9192e849e26e7dfab0d">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#adcf136a036f9f2af783f16bec94866c8">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a4d9c6ee3fbb00ded1d3f1952e70d9ab2">vmp2::v3::file_header</a>
</li>
<li>mnemonic
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a7383a473cfa87294b0f7345560c8742d">vm::handler::profile_t</a>
</li>
<li>mnemonic_t
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ac0bd0e3880a6c8f202fd18202f6fcd03">vm::instrs::virt_instr_t</a>
</li>
<li>module_base
: <a class="el" href="classvm_1_1ctx__t.html#a41019acb80ba763e3154c4417b133b5a">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a0a8fea55e5a66c8f3a47677ce3f69b59">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a7ebc024810907c119fb47c851c99e82e">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aa3ff84434ca579d5ac5730e991eade61">vmp2::v3::file_header</a>
</li>
<li>module_offset
: <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a10378288c8899bea07daf5256aa3baaa">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a6106a4ebc9e2f7ba730e3aa4106cf787">vmp2::v3::file_header</a>
</li>
<li>module_size
: <a class="el" href="structvmp2_1_1v2_1_1file__header.html#acfb0589f755fc8702fade3663e4a206d">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aa73a51bb4a303d12227420d353bd2db2">vmp2::v3::file_header</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>name
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a9cabcfd822b118e7cb73b978d13c2847">vm::handler::profile_t</a>
</li>
<li>next_block_offset
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a7fb06d95ee032b63f2d33e382eafa619">vmp2::v3::code_block_t</a>
</li>
</ul>
<h3><a id="index_o"></a>- o -</h3><ul>
<li>opcode
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ae9ccb599603fb3a6286be7b53221f379">vm::instrs::virt_instr_t</a>
</li>
<li>operand
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#aa5f9792167cb0ff7f0d906e73f14ed09">vm::instrs::virt_instr_t</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>profile
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#adba165c7493524bf21b2b1aafc15c6be">vm::handler::handler_t</a>
</li>
</ul>
<h3><a id="index_q"></a>- q -</h3><ul>
<li>qword
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a2bcd067629686dbe25c5f029fd6a90b2">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adf0282edfe2729f777de01181573817a">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>r10
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a8d1765833c99a7f2d08717851eebab82">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a48c7745b16af9fa47fddaea8478618b1">vmp2::v2::entry_t</a>
</li>
<li>r11
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a2b6490513a27218e981395caf46c6a36">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#aa1a5db4120d667a1c87b8e5cebffd6bc">vmp2::v2::entry_t</a>
</li>
<li>r12
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac070dd8a3b266aca6d384092d44c45db">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad54f902a6c9356b34fa32bb57afecde4">vmp2::v2::entry_t</a>
</li>
<li>r13
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac892c7b25abf33b68cd23218088c19a2">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad63c471813aaffa87b51f44f4e778e27">vmp2::v2::entry_t</a>
</li>
<li>r14
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a73f9533987a51cd2ed85dac181cb8e36">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5eca8495531c6b7c230397121c448aa5">vmp2::v2::entry_t</a>
</li>
<li>r15
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#abb759c2488fa9a384ab5b424e84a225b">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad7e5388fa85783e2f628562073945a3e">vmp2::v2::entry_t</a>
</li>
<li>r8
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a439476f676acc77b1f75abd0ce6f1dc9">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a75ab4ecd1d412e886e785202ad208a80">vmp2::v2::entry_t</a>
</li>
<li>r9
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a82183b6e1580ebc77cf8e60e8d197688">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a1c22268aa724bdbe1b2c7e08ca6f91bf">vmp2::v2::entry_t</a>
</li>
<li>raw
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a33eb058b38f364b0dc70bc51ccce665f">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a30d79c65c6656f2da0b7ef0305861d18">vmp2::v2::entry_t</a>
, <a class="el" href="structzydis__instr__t.html#a63731d9c4bc131dd63253a671f494926">zydis_instr_t</a>
</li>
<li>rax
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#aece27444f4d7739a65e105c99bb80405">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5bcddf6039712e77b1e929c5e23d7102">vmp2::v2::entry_t</a>
</li>
<li>rbp
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a897b61a9d552321649e2125f0309087f">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adaa7ac7e16b4c5334f710276e5424bb2">vmp2::v2::entry_t</a>
</li>
<li>rbx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ad1209ca45ba032f5b153243755ca4715">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adb2f787630408583f8d788b1e0ffbc26">vmp2::v2::entry_t</a>
</li>
<li>rcx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ad5a8918cb544c45077f2d8226d23e6e8">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#af0fe75c5c42bd2d3639661db73195c21">vmp2::v2::entry_t</a>
</li>
<li>rdi
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a1629840800a9af9adb8fdd63b596bc4c">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ab22621550901e08d7d541faa940332a9">vmp2::v2::entry_t</a>
</li>
<li>rdx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a4e80774ff8364a9237dd99702a8b7d9b">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a6216b34ae98199196363d268ebd917c5">vmp2::v2::entry_t</a>
</li>
<li>regs
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac0c039b3a555ca4b2716caf8c9d65dd7">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5f0c8c53f295f3c500e6e1700260567d">vmp2::v2::entry_t</a>
</li>
<li>rflags
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac01afa0dffbd2377d722232a8db98bff">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a7231c47303e74cba3f4be781b23365fe">vmp2::v2::entry_t</a>
</li>
<li>rsi
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ab4699f11425e593d9745c3ce533481f4">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a2449e4175d235152aa3d47cc0cd3fa54">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>s
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a3feeff8ff61091838dd488625d7b25a2">vm::instrs::virt_instr_t</a>
</li>
<li>signature
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a27b22dbeada71cf631918847d7be84ba">vm::handler::profile_t</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>trace_data
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a5d51d8778458f649434e6c96c159a260">vm::instrs::virt_instr_t</a>
</li>
<li>transforms
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a47f9e94f5e156d9215e9ae585e928a92">vm::handler::handler_t</a>
</li>
<li>type
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#a7a26a802234641a6a721c60055b6866c">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_u"></a>- u -</h3><ul>
<li>u
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a046c32e02a63f3fd94c34088f2d6fc4f">vm::instrs::virt_instr_t</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>version
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a6104dc2211338773a0d7770fb2557976">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a051f78fa2f1d251a24ac7ab843c93885">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#ad5b0868596548490caca7609cbf7a040">vmp2::v3::file_header</a>
</li>
<li>vinstr
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a53661b42cbaf7a61580db7816877c1a6">vmp2::v3::code_block_t</a>
</li>
<li>vinstr_count
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#ad2206d01c7fa4e3d767993cb4582ce37">vmp2::v3::code_block_t</a>
</li>
<li>vinstrs
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#a5479652a78162e85f4d40b26bdffc15e">vm::instrs::code_block_t</a>
</li>
<li>vip
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#af9d863dc4165755e5b31549f30e7a58a">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#af995fc5074e0c18fe987bacf73ce6773">vmp2::v2::entry_t</a>
</li>
<li>vip_begin
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#aaca2c6f30eee7a05c378c41c46cdfcb9">vm::instrs::code_block_t</a>
, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a8acca6685fb25b092df96b2d7a7ed773">vmp2::v3::code_block_t</a>
</li>
<li>vm_entry
: <a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm::ctx_t</a>
</li>
<li>vm_entry_rva
: <a class="el" href="classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#afdf98118a9049deafd613e9ef2dfc988">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aea15e18f812d2d3239f3e466e85c68c4">vmp2::v3::file_header</a>
</li>
<li>vm_handlers
: <a class="el" href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d">vm::ctx_t</a>
</li>
<li>vregs
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ade6ea682fa296e2c9cea58c1a3f2d373">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#afb8279d89fb28d2d306fb429841ee3eb">vmp2::v2::entry_t</a>
</li>
<li>vsp
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a44ed5e932965dbc068230b94b533b4a6">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a3eef4253b78238be9391999dcc6bcfd3">vmp2::v2::entry_t</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>ctx_t()
: <a class="el" href="classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad">vm::ctx_t</a>
</li>
<li>init()
: <a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2">vm::ctx_t</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,402 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_a"></a>- a -</h3><ul>
<li>addr
: <a class="el" href="structzydis__instr__t.html#ac180f5e918619afc94f594c91f0ec389">zydis_instr_t</a>
</li>
<li>address
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#afa8853308fc1039e4a2940594c3e443e">vm::handler::handler_t</a>
</li>
<li>advancement
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a1a95d42495b9ed9d96538a50c4d17347">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a8c4bd608935f89aeeacf8a24c46e12a7">vmp2::v2::file_header</a>
</li>
</ul>
<h3><a id="index_b"></a>- b -</h3><ul>
<li>block_addr
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#ad0439fc4249349e333d31ebed7f0344f">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>calc_jmp
: <a class="el" href="classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d">vm::ctx_t</a>
</li>
<li>code_block_count
: <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a24a59e4770152a60ba08b7e838fec2d4">vmp2::v3::file_header</a>
</li>
<li>code_block_offset
: <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a5114dc45569676f5d392832dfee2a46b">vmp2::v3::file_header</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>decrypt_key
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#afc01193413881c666404d9ae89e41032">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad2ec680e1eb7beefeb8aad7f968e1401">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_e"></a>- e -</h3><ul>
<li>entry_count
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#ace410271f9fb3da72ee2aafcd16a23b8">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a2ac4c9cdbc65aa53a643a3c73d89be8f">vmp2::v2::file_header</a>
</li>
<li>entry_offset
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a66dde50694bdccead01e50137a9bbd5d">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a352666a046aaecff042304e326d2bf97">vmp2::v2::file_header</a>
</li>
<li>epoch_time
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#adcb827f599e85414725407ac46f031ee">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a30e53a5b6383237a52bf39c9ad7e3af6">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#adab57c587431f54d55c160a5895d9dfb">vmp2::v3::file_header</a>
</li>
<li>exec_type
: <a class="el" href="classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f">vm::ctx_t</a>
</li>
<li>extention
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a2d419cb79f8947e0cbb2b391a067d639">vm::handler::profile_t</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>handler_idx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a6eadb65583e755c34e5dfe94b1de9d58">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a0790f4f0961fc3ec556727f0e9eff292">vmp2::v2::entry_t</a>
</li>
<li>has_imm
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ac91bab4ece39b8424e9ef617333948fd">vm::instrs::virt_instr_t</a>
</li>
<li>has_jcc
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#affad18f3c23aeb243a00db2da0ea45e6">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>image_base
: <a class="el" href="classvm_1_1ctx__t.html#a9cec1f42d21b006cba4ac370d5962869">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a834187075d20d68bc3c44df466927018">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#ab4930fa2c29a3020bafbbb1de5cfe400">vmp2::v3::file_header</a>
</li>
<li>image_size
: <a class="el" href="classvm_1_1ctx__t.html#a469ea113041b62e9a044db8e56fa78cb">vm::ctx_t</a>
</li>
<li>imm
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a19d74c16a3d29041b59a8897d70a087c">vm::instrs::virt_instr_t</a>
</li>
<li>imm_size
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a7c5be45604678830c9f8b433c94ef830">vm::handler::handler_t</a>
, <a class="el" href="structvm_1_1handler_1_1profile__t.html#a0761c86417303eb402606a780ea90c30">vm::handler::profile_t</a>
, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a13ae413a43eaecb9f258a0a4f75b5e57">vm::instrs::virt_instr_t</a>
</li>
<li>instr
: <a class="el" href="structzydis__instr__t.html#a83f141fec54512c612709a4b3af10242">zydis_instr_t</a>
</li>
<li>instrs
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a6c080e14331c4092909c3b0f0c27367d">vm::handler::handler_t</a>
</li>
</ul>
<h3><a id="index_j"></a>- j -</h3><ul>
<li>jcc
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#a8531e96fe56f6f936293a6094271c497">vm::instrs::code_block_t</a>
, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a2671994201d68daf71d6bad7a666da16">vmp2::v3::code_block_t</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>magic
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a022ada89136cc9192e849e26e7dfab0d">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#adcf136a036f9f2af783f16bec94866c8">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a4d9c6ee3fbb00ded1d3f1952e70d9ab2">vmp2::v3::file_header</a>
</li>
<li>mnemonic
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a7383a473cfa87294b0f7345560c8742d">vm::handler::profile_t</a>
</li>
<li>mnemonic_t
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ac0bd0e3880a6c8f202fd18202f6fcd03">vm::instrs::virt_instr_t</a>
</li>
<li>module_base
: <a class="el" href="classvm_1_1ctx__t.html#a41019acb80ba763e3154c4417b133b5a">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a0a8fea55e5a66c8f3a47677ce3f69b59">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a7ebc024810907c119fb47c851c99e82e">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aa3ff84434ca579d5ac5730e991eade61">vmp2::v3::file_header</a>
</li>
<li>module_offset
: <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a10378288c8899bea07daf5256aa3baaa">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#a6106a4ebc9e2f7ba730e3aa4106cf787">vmp2::v3::file_header</a>
</li>
<li>module_size
: <a class="el" href="structvmp2_1_1v2_1_1file__header.html#acfb0589f755fc8702fade3663e4a206d">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aa73a51bb4a303d12227420d353bd2db2">vmp2::v3::file_header</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>name
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a9cabcfd822b118e7cb73b978d13c2847">vm::handler::profile_t</a>
</li>
<li>next_block_offset
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a7fb06d95ee032b63f2d33e382eafa619">vmp2::v3::code_block_t</a>
</li>
</ul>
<h3><a id="index_o"></a>- o -</h3><ul>
<li>opcode
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#ae9ccb599603fb3a6286be7b53221f379">vm::instrs::virt_instr_t</a>
</li>
<li>operand
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#aa5f9792167cb0ff7f0d906e73f14ed09">vm::instrs::virt_instr_t</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>profile
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#adba165c7493524bf21b2b1aafc15c6be">vm::handler::handler_t</a>
</li>
</ul>
<h3><a id="index_q"></a>- q -</h3><ul>
<li>qword
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a2bcd067629686dbe25c5f029fd6a90b2">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adf0282edfe2729f777de01181573817a">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>r10
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a8d1765833c99a7f2d08717851eebab82">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a48c7745b16af9fa47fddaea8478618b1">vmp2::v2::entry_t</a>
</li>
<li>r11
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a2b6490513a27218e981395caf46c6a36">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#aa1a5db4120d667a1c87b8e5cebffd6bc">vmp2::v2::entry_t</a>
</li>
<li>r12
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac070dd8a3b266aca6d384092d44c45db">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad54f902a6c9356b34fa32bb57afecde4">vmp2::v2::entry_t</a>
</li>
<li>r13
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac892c7b25abf33b68cd23218088c19a2">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad63c471813aaffa87b51f44f4e778e27">vmp2::v2::entry_t</a>
</li>
<li>r14
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a73f9533987a51cd2ed85dac181cb8e36">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5eca8495531c6b7c230397121c448aa5">vmp2::v2::entry_t</a>
</li>
<li>r15
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#abb759c2488fa9a384ab5b424e84a225b">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ad7e5388fa85783e2f628562073945a3e">vmp2::v2::entry_t</a>
</li>
<li>r8
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a439476f676acc77b1f75abd0ce6f1dc9">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a75ab4ecd1d412e886e785202ad208a80">vmp2::v2::entry_t</a>
</li>
<li>r9
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a82183b6e1580ebc77cf8e60e8d197688">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a1c22268aa724bdbe1b2c7e08ca6f91bf">vmp2::v2::entry_t</a>
</li>
<li>raw
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a33eb058b38f364b0dc70bc51ccce665f">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a30d79c65c6656f2da0b7ef0305861d18">vmp2::v2::entry_t</a>
, <a class="el" href="structzydis__instr__t.html#a63731d9c4bc131dd63253a671f494926">zydis_instr_t</a>
</li>
<li>rax
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#aece27444f4d7739a65e105c99bb80405">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5bcddf6039712e77b1e929c5e23d7102">vmp2::v2::entry_t</a>
</li>
<li>rbp
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a897b61a9d552321649e2125f0309087f">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adaa7ac7e16b4c5334f710276e5424bb2">vmp2::v2::entry_t</a>
</li>
<li>rbx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ad1209ca45ba032f5b153243755ca4715">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#adb2f787630408583f8d788b1e0ffbc26">vmp2::v2::entry_t</a>
</li>
<li>rcx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ad5a8918cb544c45077f2d8226d23e6e8">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#af0fe75c5c42bd2d3639661db73195c21">vmp2::v2::entry_t</a>
</li>
<li>rdi
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a1629840800a9af9adb8fdd63b596bc4c">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#ab22621550901e08d7d541faa940332a9">vmp2::v2::entry_t</a>
</li>
<li>rdx
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a4e80774ff8364a9237dd99702a8b7d9b">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a6216b34ae98199196363d268ebd917c5">vmp2::v2::entry_t</a>
</li>
<li>regs
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac0c039b3a555ca4b2716caf8c9d65dd7">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a5f0c8c53f295f3c500e6e1700260567d">vmp2::v2::entry_t</a>
</li>
<li>rflags
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ac01afa0dffbd2377d722232a8db98bff">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a7231c47303e74cba3f4be781b23365fe">vmp2::v2::entry_t</a>
</li>
<li>rsi
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ab4699f11425e593d9745c3ce533481f4">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a2449e4175d235152aa3d47cc0cd3fa54">vmp2::v2::entry_t</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>s
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a3feeff8ff61091838dd488625d7b25a2">vm::instrs::virt_instr_t</a>
</li>
<li>signature
: <a class="el" href="structvm_1_1handler_1_1profile__t.html#a27b22dbeada71cf631918847d7be84ba">vm::handler::profile_t</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>trace_data
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a5d51d8778458f649434e6c96c159a260">vm::instrs::virt_instr_t</a>
</li>
<li>transforms
: <a class="el" href="structvm_1_1handler_1_1handler__t.html#a47f9e94f5e156d9215e9ae585e928a92">vm::handler::handler_t</a>
</li>
<li>type
: <a class="el" href="structvm_1_1instrs_1_1jcc__data.html#a7a26a802234641a6a721c60055b6866c">vm::instrs::jcc_data</a>
</li>
</ul>
<h3><a id="index_u"></a>- u -</h3><ul>
<li>u
: <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html#a046c32e02a63f3fd94c34088f2d6fc4f">vm::instrs::virt_instr_t</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>version
: <a class="el" href="structvmp2_1_1v1_1_1file__header.html#a6104dc2211338773a0d7770fb2557976">vmp2::v1::file_header</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#a051f78fa2f1d251a24ac7ab843c93885">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#ad5b0868596548490caca7609cbf7a040">vmp2::v3::file_header</a>
</li>
<li>vinstr
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a53661b42cbaf7a61580db7816877c1a6">vmp2::v3::code_block_t</a>
</li>
<li>vinstr_count
: <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#ad2206d01c7fa4e3d767993cb4582ce37">vmp2::v3::code_block_t</a>
</li>
<li>vinstrs
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#a5479652a78162e85f4d40b26bdffc15e">vm::instrs::code_block_t</a>
</li>
<li>vip
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#af9d863dc4165755e5b31549f30e7a58a">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#af995fc5074e0c18fe987bacf73ce6773">vmp2::v2::entry_t</a>
</li>
<li>vip_begin
: <a class="el" href="structvm_1_1instrs_1_1code__block__t.html#aaca2c6f30eee7a05c378c41c46cdfcb9">vm::instrs::code_block_t</a>
, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html#a8acca6685fb25b092df96b2d7a7ed773">vmp2::v3::code_block_t</a>
</li>
<li>vm_entry
: <a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm::ctx_t</a>
</li>
<li>vm_entry_rva
: <a class="el" href="classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3">vm::ctx_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1file__header.html#afdf98118a9049deafd613e9ef2dfc988">vmp2::v2::file_header</a>
, <a class="el" href="structvmp2_1_1v3_1_1file__header.html#aea15e18f812d2d3239f3e466e85c68c4">vmp2::v3::file_header</a>
</li>
<li>vm_handlers
: <a class="el" href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d">vm::ctx_t</a>
</li>
<li>vregs
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#ade6ea682fa296e2c9cea58c1a3f2d373">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#afb8279d89fb28d2d306fb429841ee3eb">vmp2::v2::entry_t</a>
</li>
<li>vsp
: <a class="el" href="structvmp2_1_1v1_1_1entry__t.html#a44ed5e932965dbc068230b94b533b4a6">vmp2::v1::entry_t</a>
, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html#a3eef4253b78238be9391999dcc6bcfd3">vmp2::v2::entry_t</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all file members with links to the files they belong to:</div><ul>
<li>NOMINMAX
: <a class="el" href="vmutils_8hpp.html#a9f918755b601cf4bffca775992e6fb90">vmutils.hpp</a>
</li>
<li>u128
: <a class="el" href="vmutils_8hpp.html#a7aa2d9a3b9a80fc61ad2ccf99ebb95f8">vmutils.hpp</a>
</li>
<li>u16
: <a class="el" href="vmutils_8hpp.html#a78c47e7d1e6386136297f10fa86b5f99">vmutils.hpp</a>
</li>
<li>u32
: <a class="el" href="vmutils_8hpp.html#a5b58b50033aff6031759d9708b5156f2">vmutils.hpp</a>
</li>
<li>u64
: <a class="el" href="vmutils_8hpp.html#a4870a1025a59df53c952b95ac2c85bf6">vmutils.hpp</a>
</li>
<li>u8
: <a class="el" href="vmutils_8hpp.html#ad24825e11b71d87e40f5c0e88dd980a0">vmutils.hpp</a>
</li>
<li>VMP_MAGIC
: <a class="el" href="vmp2_8hpp.html#ae060e76e1844535a1d8bfb65b2ce8391">vmp2.hpp</a>
</li>
<li>zydis_decoded_instr_t
: <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">vmutils.hpp</a>
</li>
<li>zydis_mnemonic_t
: <a class="el" href="vmutils_8hpp.html#a910e81858860c70b9744949887567148">vmutils.hpp</a>
</li>
<li>zydis_register_t
: <a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">vmutils.hpp</a>
</li>
<li>zydis_routine_t
: <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">vmutils.hpp</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>NOMINMAX
: <a class="el" href="vmutils_8hpp.html#a9f918755b601cf4bffca775992e6fb90">vmutils.hpp</a>
</li>
<li>VMP_MAGIC
: <a class="el" href="vmp2_8hpp.html#ae060e76e1844535a1d8bfb65b2ce8391">vmp2.hpp</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>u128
: <a class="el" href="vmutils_8hpp.html#a7aa2d9a3b9a80fc61ad2ccf99ebb95f8">vmutils.hpp</a>
</li>
<li>u16
: <a class="el" href="vmutils_8hpp.html#a78c47e7d1e6386136297f10fa86b5f99">vmutils.hpp</a>
</li>
<li>u32
: <a class="el" href="vmutils_8hpp.html#a5b58b50033aff6031759d9708b5156f2">vmutils.hpp</a>
</li>
<li>u64
: <a class="el" href="vmutils_8hpp.html#a4870a1025a59df53c952b95ac2c85bf6">vmutils.hpp</a>
</li>
<li>u8
: <a class="el" href="vmutils_8hpp.html#ad24825e11b71d87e40f5c0e88dd980a0">vmutils.hpp</a>
</li>
<li>zydis_decoded_instr_t
: <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">vmutils.hpp</a>
</li>
<li>zydis_mnemonic_t
: <a class="el" href="vmutils_8hpp.html#a910e81858860c70b9744949887567148">vmutils.hpp</a>
</li>
<li>zydis_register_t
: <a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">vmutils.hpp</a>
</li>
<li>zydis_routine_t
: <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">vmutils.hpp</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

@ -0,0 +1,182 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">VMProfiler Documentation</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md_D__vmprofiler_qt_dependencies_vmprofiler_README"></a> </p><div align="center"> <div> <img src="https://githacks.org/uploads/-/system/project/avatar/374/icon-5.png" alt="" class="inline"/> </div> </div><h3><a class="anchor" id="autotoc_md0"></a>
VMProfiler - Library To Profile VMProtect 2 Virtual Machines</h3>
<p>vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu. This is the base project for all other VMProtect 2 projects inside of this group on githacks.</p>
<h3><a class="anchor" id="autotoc_md1"></a>
Credit &amp; Contributors</h3>
<ul>
<li><a href="https://github.com/vtil-project/VTIL-Core">VTIL</a> - Virtual-machine Translation Intermediate Language</li>
<li><a href="https://github.com/zyantific/zydis">Zydis</a> - Fast and lightweight x86/x86-64 disassembler library</li>
<li><a href="https://github.com/irql0">irql0</a> - helped with the first version of vm handler pattern matching</li>
</ul>
<h3><a class="anchor" id="autotoc_md2"></a>
Basic Usage - Creating a vm::ctx_t Object</h3>
<p>The <code><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a></code> class is a small container-like class which is simply used to contain all information for a given vm entry. This class contains the following useful information:</p>
<ul>
<li>all vm handlers for a given vm entry</li>
<li>the linear virtual address of the module base in memory</li>
<li>the image base address</li>
<li>the image size in virtual memory</li>
<li>which way VIP advances (exec_type)</li>
<li>vm entry relative virtual address</li>
<li>vm entry deobfuscated and flattened</li>
<li>calc jmp deobfuscated and flattened</li>
</ul>
<p>All of the above information is generated by executing the <code><a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2" title="init all per-vm entry data such as vm_entry, calc_jmp, and vm handlers...">vm::ctx_t::init</a></code> member function. Below is a C++ example of how to create a <code><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a></code> object.</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keyword">auto</span> module_base = <span class="keyword">reinterpret_cast&lt;</span> std::uintptr_t <span class="keyword">&gt;</span>(</div>
<div class="line"> LoadLibraryExA( parser.get&lt; std::string &gt;( <span class="stringliteral">&quot;bin&quot;</span> ).c_str(),</div>
<div class="line"> NULL, DONT_RESOLVE_DLL_REFERENCES ) );</div>
<div class="line"> </div>
<div class="line"><span class="keyword">const</span> <span class="keyword">auto</span> vm_entry_rva = std::strtoull( parser.get&lt; std::string &gt;( <span class="stringliteral">&quot;vmentry&quot;</span> ).c_str(), <span class="keyword">nullptr</span>, 16 );</div>
<div class="line"><span class="keyword">const</span> <span class="keyword">auto</span> image_base = umtils-&gt;image_base( parser.get&lt; std::string &gt;( <span class="stringliteral">&quot;bin&quot;</span> ).c_str() );</div>
<div class="line"><span class="keyword">const</span> <span class="keyword">auto</span> image_size = NT_HEADER( module_base )-&gt;OptionalHeader.SizeOfImage;</div>
<div class="line"><a class="code" href="classvm_1_1ctx__t.html">vm::ctx_t</a> vmctx( module_base, image_base, image_size, vm_entry_rva );</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> ( !vmctx.init() )</div>
<div class="line">{</div>
<div class="line"> std::printf( <span class="stringliteral">&quot;[!] failed to init vm::ctx_t... make sure all cli arguments are correct!\n&quot;</span> );</div>
<div class="line"> <span class="keywordflow">return</span> -1;</div>
<div class="line">}</div>
<div class="ttc" id="aclassvm_1_1ctx__t_html"><div class="ttname"><a href="classvm_1_1ctx__t.html">vm::ctx_t</a></div><div class="ttdoc">vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....</div><div class="ttdef"><b>Definition:</b> vmctx.hpp:13</div></div>
</div><!-- fragment --><h3><a class="anchor" id="autotoc_md3"></a>
Using vm::ctx_t Object</h3>
<p>Once you have instantiated <code><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a></code> and called <code><a class="el" href="classvm_1_1ctx__t.html#a7f24e3ed32d1cca86c296dd8dae4b6d2" title="init all per-vm entry data such as vm_entry, calc_jmp, and vm handlers...">vm::ctx_t::init</a></code> with success, you now can directly access the data members of <code><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a></code>. Most importantly, <code><a class="el" href="classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d">vm::ctx_t::calc_jmp</a></code>, <code><a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm::ctx_t::vm_entry</a></code>, and <code><a class="el" href="classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d" title="all the vm handlers for the given vm entry...">vm::ctx_t::vm_handlers</a></code>. An example usage of this data could be dumping the native x86_64 instructions which make up <code><a class="el" href="classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793">vm::ctx_t::vm_entry</a></code>. Example c++ code for this is displayed below.</p>
<div class="fragment"><div class="line">std::puts( <span class="stringliteral">&quot;======================== [vm entry] ========================\n&quot;</span> );</div>
<div class="line"><a class="code" href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">vm::util::print</a>( vmctx.vm_entry );</div>
<div class="ttc" id="anamespacevm_1_1util_html_abcfe75a7d22f907a6187579373679204"><div class="ttname"><a href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">vm::util::print</a></div><div class="ttdeci">void print(zydis_routine_t &amp;routine)</div><div class="ttdoc">prints a disassembly view of a routine...</div><div class="ttdef"><b>Definition:</b> vmutils.cpp:69</div></div>
</div><!-- fragment --><p><em><b>Output</b></em></p>
<div class="fragment"><div class="line">======================== [vm entry] ========================</div>
<div class="line">&gt; 0x00007FF7911A822C push 0xFFFFFFFF890001FA</div>
<div class="line">&gt; 0x00007FF7911A7FC9 push 0x45D3BF1F</div>
<div class="line">&gt; 0x00007FF7911A48E4 push r13</div>
<div class="line">&gt; 0x00007FF7911A4690 push rsi</div>
<div class="line">&gt; 0x00007FF7911A4E53 push r14</div>
<div class="line">&gt; 0x00007FF7911A74FB push rcx</div>
<div class="line">&gt; 0x00007FF7911A607C push rsp</div>
<div class="line">&gt; 0x00007FF7911A4926 pushfq</div>
<div class="line">&gt; 0x00007FF7911A4DC2 push rbp</div>
<div class="line">&gt; 0x00007FF7911A5C8C push r12</div>
<div class="line">&gt; 0x00007FF7911A52AC push r10</div>
<div class="line">&gt; 0x00007FF7911A51A5 push r9</div>
<div class="line">&gt; 0x00007FF7911A5189 push rdx</div>
<div class="line">&gt; 0x00007FF7911A7D5F push r8</div>
<div class="line">&gt; 0x00007FF7911A4505 push rdi</div>
<div class="line">&gt; 0x00007FF7911A4745 push r11</div>
<div class="line">&gt; 0x00007FF7911A478B push rax</div>
<div class="line">&gt; 0x00007FF7911A7A53 push rbx</div>
<div class="line">&gt; 0x00007FF7911A500D push r15</div>
<div class="line">&gt; 0x00007FF7911A6030 push [0x00007FF7911A7912]</div>
<div class="line">&gt; 0x00007FF7911A593A mov rax, 0x7FF6511A0000</div>
<div class="line">&gt; 0x00007FF7911A5955 mov r13, rax</div>
<div class="line">&gt; 0x00007FF7911A595F test dl, al</div>
<div class="line">&gt; 0x00007FF7911A5965 push rax</div>
<div class="line">&gt; 0x00007FF7911A5969 btr si, bx</div>
<div class="line">&gt; 0x00007FF7911A596F mov esi, [rsp+0xA0]</div>
<div class="line">&gt; 0x00007FF7911A5979 not esi</div>
<div class="line">&gt; 0x00007FF7911A5985 neg esi</div>
<div class="line">&gt; 0x00007FF7911A598D ror esi, 0x1A</div>
<div class="line">&gt; 0x00007FF7911A599E mov rbp, rsp</div>
<div class="line">&gt; 0x00007FF7911A59A8 sub rsp, 0x140</div>
<div class="line">&gt; 0x00007FF7911A59B5 and rsp, 0xFFFFFFFFFFFFFFF0</div>
<div class="line">&gt; 0x00007FF7911A59BE inc ax</div>
<div class="line">&gt; 0x00007FF7911A59C1 mov rdi, rsp</div>
<div class="line">&gt; 0x00007FF7911A59C7 bsr r12, rax</div>
<div class="line">&gt; 0x00007FF7911A59CB lea r12, [0x00007FF7911A6473]</div>
<div class="line">&gt; 0x00007FF7911A59DF mov rax, 0x100000000</div>
<div class="line">&gt; 0x00007FF7911A59EC add rsi, rax</div>
<div class="line">&gt; 0x00007FF7911A59F3 mov rbx, rsi</div>
<div class="line">&gt; 0x00007FF7911A59FA add rsi, [rbp]</div>
<div class="line">&gt; 0x00007FF7911A5A03 rcr dl, cl</div>
<div class="line">&gt; 0x00007FF7911A5A05 mov al, [rsi]</div>
<div class="line">&gt; 0x00007FF7911A5A0A xor al, bl</div>
<div class="line">&gt; 0x00007FF7911A5A11 neg al</div>
<div class="line">&gt; 0x00007FF7911A5A19 rol al, 0x05</div>
<div class="line">&gt; 0x00007FF7911A5A26 inc al</div>
<div class="line">&gt; 0x00007FF7911A5A2F xor bl, al</div>
<div class="line">&gt; 0x00007FF7911A5A34 movzx rax, al</div>
<div class="line">&gt; 0x00007FF7911A5A41 mov rdx, [r12+rax*8]</div>
<div class="line">&gt; 0x00007FF7911A5A49 xor rdx, 0x7F3D2149</div>
<div class="line">&gt; 0x00007FF7911A5507 inc rsi</div>
<div class="line">&gt; 0x00007FF7911A7951 add rdx, r13</div>
<div class="line">&gt; 0x00007FF7911A7954 jmp rdx</div>
</div><!-- fragment --><h3><a class="anchor" id="autotoc_md4"></a>
License &amp; Copyright</h3>
<p>Copyright (c) 2021 _xeroxz, Independent Researcher @back.engineering</p>
<p>Licensed under the MIT License </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: README</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">README </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div align="center"> <div> <img src="https://githacks.org/uploads/-/system/project/avatar/374/icon-5.png" alt="" class="inline"/> </div> </div><h1><a class="anchor" id="autotoc_md0"></a>
VMProfiler - Library To Profile VMProtect 2 Virtual Machines</h1>
<p>vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu. This is the base project for all other VMProtect 2 projects inside of this group on githacks. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,51 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}
/* @license-end */

@ -0,0 +1,146 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Namespaces",url:"namespaces.html",children:[
{text:"Namespace List",url:"namespaces.html"},
{text:"Namespace Members",url:"namespacemembers.html",children:[
{text:"All",url:"namespacemembers.html",children:[
{text:"_",url:"namespacemembers.html#index__5F"},
{text:"a",url:"namespacemembers.html#index_a"},
{text:"c",url:"namespacemembers.html#index_c"},
{text:"d",url:"namespacemembers.html#index_d"},
{text:"e",url:"namespacemembers.html#index_e"},
{text:"f",url:"namespacemembers.html#index_f"},
{text:"g",url:"namespacemembers.html#index_g"},
{text:"h",url:"namespacemembers.html#index_h"},
{text:"i",url:"namespacemembers.html#index_i"},
{text:"j",url:"namespacemembers.html#index_j"},
{text:"l",url:"namespacemembers.html#index_l"},
{text:"m",url:"namespacemembers.html#index_m"},
{text:"n",url:"namespacemembers.html#index_n"},
{text:"p",url:"namespacemembers.html#index_p"},
{text:"r",url:"namespacemembers.html#index_r"},
{text:"s",url:"namespacemembers.html#index_s"},
{text:"t",url:"namespacemembers.html#index_t"},
{text:"v",url:"namespacemembers.html#index_v"},
{text:"w",url:"namespacemembers.html#index_w"},
{text:"z",url:"namespacemembers.html#index_z"}]},
{text:"Functions",url:"namespacemembers_func.html",children:[
{text:"_",url:"namespacemembers_func.html#index__5F"},
{text:"a",url:"namespacemembers_func.html#index_a"},
{text:"c",url:"namespacemembers_func.html#index_c"},
{text:"d",url:"namespacemembers_func.html#index_d"},
{text:"e",url:"namespacemembers_func.html#index_e"},
{text:"f",url:"namespacemembers_func.html#index_f"},
{text:"g",url:"namespacemembers_func.html#index_g"},
{text:"h",url:"namespacemembers_func.html#index_h"},
{text:"i",url:"namespacemembers_func.html#index_i"},
{text:"m",url:"namespacemembers_func.html#index_m"},
{text:"p",url:"namespacemembers_func.html#index_p"},
{text:"t",url:"namespacemembers_func.html#index_t"},
{text:"v",url:"namespacemembers_func.html#index_v"}]},
{text:"Variables",url:"namespacemembers_vars.html",children:[
{text:"_",url:"namespacemembers_vars.html#index__5F"},
{text:"a",url:"namespacemembers_vars.html#index_a"},
{text:"c",url:"namespacemembers_vars.html#index_c"},
{text:"d",url:"namespacemembers_vars.html#index_d"},
{text:"i",url:"namespacemembers_vars.html#index_i"},
{text:"j",url:"namespacemembers_vars.html#index_j"},
{text:"l",url:"namespacemembers_vars.html#index_l"},
{text:"m",url:"namespacemembers_vars.html#index_m"},
{text:"n",url:"namespacemembers_vars.html#index_n"},
{text:"p",url:"namespacemembers_vars.html#index_p"},
{text:"r",url:"namespacemembers_vars.html#index_r"},
{text:"s",url:"namespacemembers_vars.html#index_s"},
{text:"t",url:"namespacemembers_vars.html#index_t"},
{text:"v",url:"namespacemembers_vars.html#index_v"},
{text:"w",url:"namespacemembers_vars.html#index_w"}]},
{text:"Typedefs",url:"namespacemembers_type.html"},
{text:"Enumerations",url:"namespacemembers_enum.html"},
{text:"Enumerator",url:"namespacemembers_eval.html",children:[
{text:"a",url:"namespacemembers_eval.html#index_a"},
{text:"c",url:"namespacemembers_eval.html#index_c"},
{text:"d",url:"namespacemembers_eval.html#index_d"},
{text:"i",url:"namespacemembers_eval.html#index_i"},
{text:"j",url:"namespacemembers_eval.html#index_j"},
{text:"l",url:"namespacemembers_eval.html#index_l"},
{text:"m",url:"namespacemembers_eval.html#index_m"},
{text:"n",url:"namespacemembers_eval.html#index_n"},
{text:"p",url:"namespacemembers_eval.html#index_p"},
{text:"r",url:"namespacemembers_eval.html#index_r"},
{text:"s",url:"namespacemembers_eval.html#index_s"},
{text:"v",url:"namespacemembers_eval.html#index_v"},
{text:"w",url:"namespacemembers_eval.html#index_w"},
{text:"z",url:"namespacemembers_eval.html#index_z"}]}]}]},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
{text:"a",url:"functions.html#index_a"},
{text:"b",url:"functions.html#index_b"},
{text:"c",url:"functions.html#index_c"},
{text:"d",url:"functions.html#index_d"},
{text:"e",url:"functions.html#index_e"},
{text:"h",url:"functions.html#index_h"},
{text:"i",url:"functions.html#index_i"},
{text:"j",url:"functions.html#index_j"},
{text:"m",url:"functions.html#index_m"},
{text:"n",url:"functions.html#index_n"},
{text:"o",url:"functions.html#index_o"},
{text:"p",url:"functions.html#index_p"},
{text:"q",url:"functions.html#index_q"},
{text:"r",url:"functions.html#index_r"},
{text:"s",url:"functions.html#index_s"},
{text:"t",url:"functions.html#index_t"},
{text:"u",url:"functions.html#index_u"},
{text:"v",url:"functions.html#index_v"}]},
{text:"Functions",url:"functions_func.html"},
{text:"Variables",url:"functions_vars.html",children:[
{text:"a",url:"functions_vars.html#index_a"},
{text:"b",url:"functions_vars.html#index_b"},
{text:"c",url:"functions_vars.html#index_c"},
{text:"d",url:"functions_vars.html#index_d"},
{text:"e",url:"functions_vars.html#index_e"},
{text:"h",url:"functions_vars.html#index_h"},
{text:"i",url:"functions_vars.html#index_i"},
{text:"j",url:"functions_vars.html#index_j"},
{text:"m",url:"functions_vars.html#index_m"},
{text:"n",url:"functions_vars.html#index_n"},
{text:"o",url:"functions_vars.html#index_o"},
{text:"p",url:"functions_vars.html#index_p"},
{text:"q",url:"functions_vars.html#index_q"},
{text:"r",url:"functions_vars.html#index_r"},
{text:"s",url:"functions_vars.html#index_s"},
{text:"t",url:"functions_vars.html#index_t"},
{text:"u",url:"functions_vars.html#index_u"},
{text:"v",url:"functions_vars.html#index_v"}]}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
{text:"All",url:"globals.html"},
{text:"Typedefs",url:"globals_type.html"},
{text:"Macros",url:"globals_defs.html"}]}]}]}

@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: D:/vmprofiler-qt/dependencies/vmprofiler/src/vmprofiles/mul.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_41b4d5d37872f2c0144673a67fd94b20.html">vmprofiles</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">mul.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="vmprofiler_8hpp_source.html">vmprofiler.hpp</a>&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm.html">vm</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html">vm::handler</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all information pertaining to vm handler identification... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler_1_1profile"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1profile.html">vm::handler::profile</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler_1_1profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all profiles defined, as well as a vector of all of the defined profiles... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,628 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
<h3><a id="index__5F"></a>- _ -</h3><ul>
<li>__ROL1__()
: <a class="el" href="namespacevm_1_1transform.html#a2f914dc341284423d3cf0bc83fbbc6d4">vm::transform</a>
</li>
<li>__ROL2__()
: <a class="el" href="namespacevm_1_1transform.html#af597f7ca1a317d800345ba0ce3139145">vm::transform</a>
</li>
<li>__ROL4__()
: <a class="el" href="namespacevm_1_1transform.html#a5845d259b97aa94ad627cb323f79bc43">vm::transform</a>
</li>
<li>__ROL8__()
: <a class="el" href="namespacevm_1_1transform.html#adeb404f2e3208d35eae516af9d979814">vm::transform</a>
</li>
<li>__ROL__()
: <a class="el" href="namespacevm_1_1transform.html#a95343da0cff7223109113b65ff4211b6">vm::transform</a>
</li>
<li>__ROR1__()
: <a class="el" href="namespacevm_1_1transform.html#a22a3bc4437a3fe171d16c08e26bd8098">vm::transform</a>
</li>
<li>__ROR2__()
: <a class="el" href="namespacevm_1_1transform.html#ae461230c2fd31540a32f7b7d439c00cc">vm::transform</a>
</li>
<li>__ROR4__()
: <a class="el" href="namespacevm_1_1transform.html#a84ceeae51a16def42530b6ce2bd52d23">vm::transform</a>
</li>
<li>__ROR8__()
: <a class="el" href="namespacevm_1_1transform.html#a8a109ae3f6a76f60fafedabde509594f">vm::transform</a>
</li>
<li>_add
: <a class="el" href="namespacevm_1_1transform.html#a281896b8949d10bf13fe43c6467766ef">vm::transform</a>
</li>
<li>_bswap
: <a class="el" href="namespacevm_1_1transform.html#a688d8184e8ff721cbe284891a79649be">vm::transform</a>
</li>
<li>_dec
: <a class="el" href="namespacevm_1_1transform.html#a15aa399b06335fdc06b738f5053eec27">vm::transform</a>
</li>
<li>_inc
: <a class="el" href="namespacevm_1_1transform.html#a127fda1c7440c539496a2265a089ed25">vm::transform</a>
</li>
<li>_neg
: <a class="el" href="namespacevm_1_1transform.html#a734672243d8d96890e13da03edb148ba">vm::transform</a>
</li>
<li>_not
: <a class="el" href="namespacevm_1_1transform.html#aef95e6402789d702d4a0dceb09c58fdf">vm::transform</a>
</li>
<li>_rol
: <a class="el" href="namespacevm_1_1transform.html#a95949473ea57a6a4b310b3701ddbc646">vm::transform</a>
</li>
<li>_ror
: <a class="el" href="namespacevm_1_1transform.html#ab2a83f6cb174fe5a090d38f4b426865a">vm::transform</a>
</li>
<li>_sub
: <a class="el" href="namespacevm_1_1transform.html#a91ad3d31de52b5178cbf433259b887d9">vm::transform</a>
</li>
<li>_xor
: <a class="el" href="namespacevm_1_1transform.html#a4ee7a00ae0c62ad5db5455d16ac64491">vm::transform</a>
</li>
</ul>
<h3><a id="index_a"></a>- a -</h3><ul>
<li>ADDDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler</a>
</li>
<li>adddw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a5bf6399e884a3e41d3cb953f00d62c13">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a7332fe92bc5b62d3a1eadc3be1650286">vm::lifters</a>
</li>
<li>ADDQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler</a>
</li>
<li>addq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6fec819ec586b0f38fd4dc9489a2faf8">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a0491abd30c8c9f167a5573fedc83326c">vm::lifters</a>
</li>
<li>ADDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler</a>
</li>
<li>addw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ac6638f78fcb7d781db4476b11bd3c139">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a15434e7a31a2d0839b9fc423879576b9">vm::lifters</a>
</li>
<li>all
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a39376b2fb191d8ff1af7ef0128f715ed">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a74eecbae2fe9125108fed0a717c4d1fd">vm::lifters</a>
</li>
<li>apply()
: <a class="el" href="namespacevm_1_1transform.html#a4f111b0cc38dd9e03f6f5eed3fa824f7">vm::transform</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>CALL
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9">vm::handler</a>
</li>
<li>call
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a8f262e2cec2009b84e4b01c93a16d9bc">vm::handler::profile</a>
</li>
<li>code_block_addr()
: <a class="el" href="namespacevm_1_1instrs.html#a5ee4814b206e0a4f8fc27356efc9503a">vm::instrs</a>
</li>
<li>compare()
: <a class="el" href="namespacevm_1_1util_1_1reg.html#aa6e516ed1170cd627f330ca68c1bfd4b">vm::util::reg</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>decrypt()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#aa8ffcb4e9e445f940723179cf9c87818">vm::handler::table</a>
</li>
<li>decrypt_operand()
: <a class="el" href="namespacevm_1_1instrs.html#a995be4b7dd3764aec88207611a2b879d">vm::instrs</a>
</li>
<li>deobfuscate()
: <a class="el" href="namespacevm_1_1util.html#afb0bd6aeba990fd37a612d6d318cebb5">vm::util</a>
</li>
<li>DIVQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394">vm::handler</a>
</li>
<li>divq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#af13cfd2b6021da3a4a6c49523d7ffb39">vm::handler::profile</a>
</li>
</ul>
<h3><a id="index_e"></a>- e -</h3><ul>
<li>encrypt()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#a69494eb8dca48abd03ff543c8adbf186">vm::handler::table</a>
</li>
<li>encrypt_operand()
: <a class="el" href="namespacevm_1_1instrs.html#a388b00855c582da503850d72de7e8f57">vm::instrs</a>
</li>
<li>exec_type_t
: <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2</a>
</li>
<li>extention_t
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07">vm::handler</a>
</li>
</ul>
<h3><a id="index_f"></a>- f -</h3><ul>
<li>flatten()
: <a class="el" href="namespacevm_1_1util.html#a86a98ad0643716aef1ef80b3cd58d0e9">vm::util</a>
</li>
</ul>
<h3><a id="index_g"></a>- g -</h3><ul>
<li>get()
: <a class="el" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">vm::calc_jmp</a>
, <a class="el" href="namespacevm_1_1handler.html#aa04be3f452edc65f17c38ef91fbed341">vm::handler</a>
, <a class="el" href="namespacevm_1_1handler_1_1table.html#a664a7f96f12e1305466df77d761d43fc">vm::handler::table</a>
, <a class="el" href="namespacevm_1_1instrs.html#aa7a629de41909a287c549397a4043c2f">vm::instrs</a>
</li>
<li>get_advancement()
: <a class="el" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">vm::calc_jmp</a>
</li>
<li>get_all()
: <a class="el" href="namespacevm_1_1handler.html#ae40eade4312e1383ae334ad2e0adacbf">vm::handler</a>
</li>
<li>get_fetch_operand()
: <a class="el" href="namespacevm_1_1util.html#a6ef2ebfb858878e2e06d3c96ef5b275b">vm::util</a>
</li>
<li>get_imm()
: <a class="el" href="namespacevm_1_1instrs.html#a432536e816a10200518676e5616335a6">vm::instrs</a>
</li>
<li>get_jcc_data()
: <a class="el" href="namespacevm_1_1instrs.html#a093e8f1c37d98c4454a3d0b58fda6188">vm::instrs</a>
</li>
<li>get_operand_transforms()
: <a class="el" href="namespacevm_1_1handler.html#ad63629408ca7f8b34169a38399ffcf02">vm::handler</a>
</li>
<li>get_profile()
: <a class="el" href="namespacevm_1_1handler.html#ad410231628efa1c4ee7fe9a8c4c7db90">vm::handler</a>
</li>
<li>get_rva_decrypt()
: <a class="el" href="namespacevm_1_1instrs.html#abfbe5c819730d2693296df3c71393de3">vm::instrs</a>
</li>
<li>get_transform()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#a5e8586b80ccde98882291ded921749ff">vm::handler::table</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>has_imm()
: <a class="el" href="namespacevm_1_1handler.html#ab830e56e2b4ee32851937ae0fe1a4918">vm::handler</a>
, <a class="el" href="namespacevm_1_1transform.html#a9c79900f35ec03b9f38b239e4678788c">vm::transform</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>imm_size()
: <a class="el" href="namespacevm_1_1handler.html#a073cb14b6691023771ad8eada2452138">vm::handler</a>
</li>
<li>INVALID
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9bb151fee0df242f0a304a3785191465">vm::handler</a>
</li>
<li>inverse
: <a class="el" href="namespacevm_1_1transform.html#a694675c95aced2c9e406c26d0313ba9a">vm::transform</a>
</li>
<li>inverse_transforms()
: <a class="el" href="namespacevm_1_1transform.html#a362be5277a6670ab1e2715673f759ae7">vm::transform</a>
</li>
<li>is_jmp()
: <a class="el" href="namespacevm_1_1util.html#a3bb957b17b2bd94bb66c94b2407799c8">vm::util</a>
</li>
</ul>
<h3><a id="index_j"></a>- j -</h3><ul>
<li>jcc_type
: <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57">vm::instrs</a>
</li>
<li>JMP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler</a>
</li>
<li>jmp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a677748b24e229ec7417fa89092928fae">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a5cebba7ce499bc0606117613599fa5d8">vm::lifters</a>
</li>
</ul>
<h3><a id="index_l"></a>- l -</h3><ul>
<li>LCONSTBSXDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler</a>
</li>
<li>lconstbsxdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9564effe8ffeb39e275721e0061d2329">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a72d98a11da4c9e39ec2b5b2afd22e70c">vm::lifters</a>
</li>
<li>LCONSTBSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler</a>
</li>
<li>lconstbsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a3e8dd1515687cbf22241bb7b0ac9c20a">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9c2ff30b47ff5f62aae07043f6e54c07">vm::lifters</a>
</li>
<li>LCONSTBZXW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler</a>
</li>
<li>lconstbzxw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a894ae9fb4ec1e6a1a2509e8180ecae09">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ae1b69c3029b02505fd5c3b888d9a2f53">vm::lifters</a>
</li>
<li>LCONSTDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler</a>
</li>
<li>lconstdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a372c4bf2fd4e6925a143d2fa4f7b1d3c">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a542f3b5caa1095dd8025c9fa33a54140">vm::lifters</a>
</li>
<li>LCONSTDWSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler</a>
</li>
<li>lconstdwsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#aaeefadf94f965a133da38f0018c3a3fa">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#af9e2ac54515ca216d4eaa5afc84e2001">vm::lifters</a>
</li>
<li>LCONSTQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler</a>
</li>
<li>lconstq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9bd4c8f24b989dd0b4d2939f80ce229a">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a6024fb9a51be812a67b061962b4a9073">vm::lifters</a>
</li>
<li>LCONSTW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler</a>
</li>
<li>lconstw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a10a05027b8a8e7b743b4864887ae2726">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#adf386a124868fdac0799765abc41318c">vm::lifters</a>
</li>
<li>LCONSTWSXDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler</a>
</li>
<li>lconstwsxdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ae1b7c27b6a7e02e2ff12583429a50fc5">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a0037d3980a52839a609d1af3401e93d3">vm::lifters</a>
</li>
<li>LCONSTWSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler</a>
</li>
<li>lconstwsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a15f60c9f437f9051a35d2f75865b8a96">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a17c37df162f730e307de53489b5112da">vm::lifters</a>
</li>
<li>lifter_callback_t
: <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">vm::lifters</a>
</li>
<li>lifter_t
: <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters</a>
</li>
<li>LREGDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler</a>
</li>
<li>lregdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#aa4ec0ea607d5a6f1288912ce4a888443">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a44522dea5997a2c5d4f743bee1ea4084">vm::lifters</a>
</li>
<li>LREGQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler</a>
</li>
<li>lregq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a414cfdeee11134889ee43e27db751810">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a8f85b8d616456ffaf0699e34643aa5a9">vm::lifters</a>
</li>
<li>LRFLAGS
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler</a>
</li>
<li>lrflags
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a5548b091697d700b516f23e807880d55">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a34a345873c127b0bf9225051ce8453bf">vm::lifters</a>
</li>
<li>LVSP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler</a>
</li>
<li>lvsp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a355ddd09a3e6f6978304c70d3a33aff7">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ad481b2cb4df18abe8727e942bae7d00c">vm::lifters</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>make_virtual_register()
: <a class="el" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">vm::lifters</a>
</li>
<li>map_t
: <a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">vm::transform</a>
</li>
<li>mnemonic_t
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler</a>
</li>
<li>MULQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a65232b40f75ab995af9eea0d5aee6444">vm::handler</a>
</li>
<li>mulq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a570412f201d1738c4ac5ecac2dc90a2d">vm::handler::profile</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>NANDDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler</a>
</li>
<li>nanddw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a57bdbf79f0a2209d3599a6684b337d41">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9cf0e6ca49b7789e313686478c3590bb">vm::lifters</a>
</li>
<li>NANDQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler</a>
</li>
<li>nandq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a44a09dbad0ad33f4e9a3e03547befee1">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9693c38a1eb8ff1d4849e93929e3debf">vm::lifters</a>
</li>
<li>NANDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler</a>
</li>
<li>nandw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9c947e851b1e0829f15fb5fccb77c016">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ac3ae8152bf358b6ab2e705624de1b7c3">vm::lifters</a>
</li>
<li>none
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a8dffe0c4e6ca7a545daca4edac325522">vm::handler</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>print()
: <a class="el" href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">vm::util</a>
</li>
<li>pushvsp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a3d827f69b569476e699a96c16b0334f6">vm::handler::profile</a>
</li>
<li>PUSHVSP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler</a>
</li>
<li>pushvsp
: <a class="el" href="namespacevm_1_1lifters.html#aedbb6765771fc1b8dcea94891bf23684">vm::lifters</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>readdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a7dcb388eb57317a1fb30a882c1f659de">vm::handler::profile</a>
</li>
<li>READDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler</a>
</li>
<li>readdw
: <a class="el" href="namespacevm_1_1lifters.html#a1e05b6d05c703d4ea79ed6dca1466708">vm::lifters</a>
</li>
<li>readq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6969c269658e6069415fc19924a8eff1">vm::handler::profile</a>
</li>
<li>READQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler</a>
</li>
<li>readq
: <a class="el" href="namespacevm_1_1lifters.html#a4dd33a06403bf5e6cc5b0f833e88508a">vm::lifters</a>
</li>
<li>READW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler</a>
</li>
<li>readw
: <a class="el" href="namespacevm_1_1lifters.html#a5b37dec0f1b7182f3aefbfe6a102096b">vm::lifters</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>shldw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a94b3e7b23ca523249a1b4149f2b221a9">vm::handler::profile</a>
</li>
<li>SHLDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81">vm::handler</a>
</li>
<li>shlq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a8be3b9aa44bba9c01a0544356f4a35ad">vm::handler::profile</a>
</li>
<li>SHLQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3">vm::handler</a>
</li>
<li>shrq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ab32d8a91ff2c9e28a0e5062338d9ef14">vm::handler::profile</a>
</li>
<li>SHRQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler</a>
</li>
<li>shrq
: <a class="el" href="namespacevm_1_1lifters.html#af33473ca92a8e1ab2e1a965b7520110d">vm::lifters</a>
</li>
<li>shrw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a53a3ad22aa1a2f0e83eeda486f447cfc">vm::handler::profile</a>
</li>
<li>SHRW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler</a>
</li>
<li>shrw
: <a class="el" href="namespacevm_1_1lifters.html#a129e17bac76f26029ea048d5f459fd8e">vm::lifters</a>
</li>
<li>sign_extend
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d">vm::handler</a>
</li>
<li>sregdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a4918ca8880971ab57dde31168d0c52ff">vm::handler::profile</a>
</li>
<li>SREGDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler</a>
</li>
<li>sregdw
: <a class="el" href="namespacevm_1_1lifters.html#a1ed6bccf37fd06d306357cc231dc85d8">vm::lifters</a>
</li>
<li>sregq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6c5922a24f03ad5104fad36b59cdb664">vm::handler::profile</a>
</li>
<li>SREGQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler</a>
</li>
<li>sregq
: <a class="el" href="namespacevm_1_1lifters.html#ad71cc0003e40f40512d4f755bf128f75">vm::lifters</a>
</li>
<li>sregw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a4f55c3b0945cb86413d3c40fc08d6db7">vm::handler::profile</a>
</li>
<li>SREGW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler</a>
</li>
<li>sregw
: <a class="el" href="namespacevm_1_1lifters.html#aab4b15f694be1f476b6336cc0b4cbf83">vm::lifters</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>to64()
: <a class="el" href="namespacevm_1_1util_1_1reg.html#a00b8eb62aa844682cceca117eca5b945">vm::util::reg</a>
</li>
<li>transform_t
: <a class="el" href="namespacevm_1_1transform.html#a67d5906292cf0f9aa61364e0846fa1e6">vm::transform</a>
</li>
<li>transforms
: <a class="el" href="namespacevm_1_1transform.html#ac5fcbe5497bc1e136caf781b61fbd8f1">vm::transform</a>
</li>
<li>type
: <a class="el" href="namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384">vm::transform</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>valid()
: <a class="el" href="namespacevm_1_1transform.html#aa14dcd108c7800a9763255873e474988">vm::transform</a>
</li>
<li>version_t
: <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579">vmp2</a>
</li>
<li>vmexit
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6c388fd726713355c8c37cb9776c83c7">vm::handler::profile</a>
</li>
<li>VMEXIT
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler</a>
</li>
<li>vmexit
: <a class="el" href="namespacevm_1_1lifters.html#a8d8d8c92bc0e93b2301aa101600f0f5e">vm::lifters</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>writeb
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a1192aea2b68e7e979971a8b683819749">vm::handler::profile</a>
</li>
<li>WRITEB
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241">vm::handler</a>
</li>
<li>writedw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6a00ac48c8ce010f1d3d55573beb52aa">vm::handler::profile</a>
</li>
<li>WRITEDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160">vm::handler</a>
</li>
<li>writeq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a64dd8aa864a3d3e6956cdb177947f739">vm::handler::profile</a>
</li>
<li>WRITEQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14">vm::handler</a>
</li>
<li>WRITEW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5">vm::handler</a>
</li>
</ul>
<h3><a id="index_z"></a>- z -</h3><ul>
<li>zero_extend
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725">vm::handler</a>
</li>
<li>zydis_callback_t
: <a class="el" href="namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be">vm::handler</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,93 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>exec_type_t
: <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2</a>
</li>
<li>extention_t
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07">vm::handler</a>
</li>
<li>jcc_type
: <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57">vm::instrs</a>
</li>
<li>mnemonic_t
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler</a>
</li>
<li>type
: <a class="el" href="namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384">vm::transform</a>
</li>
<li>version_t
: <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579">vmp2</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,258 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_a"></a>- a -</h3><ul>
<li>ADDDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler</a>
</li>
<li>ADDQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler</a>
</li>
<li>ADDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>CALL
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9">vm::handler</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>DIVQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394">vm::handler</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>INVALID
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9bb151fee0df242f0a304a3785191465">vm::handler</a>
</li>
</ul>
<h3><a id="index_j"></a>- j -</h3><ul>
<li>JMP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler</a>
</li>
</ul>
<h3><a id="index_l"></a>- l -</h3><ul>
<li>LCONSTBSXDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler</a>
</li>
<li>LCONSTBSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler</a>
</li>
<li>LCONSTBZXW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler</a>
</li>
<li>LCONSTDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler</a>
</li>
<li>LCONSTDWSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler</a>
</li>
<li>LCONSTQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler</a>
</li>
<li>LCONSTW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler</a>
</li>
<li>LCONSTWSXDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler</a>
</li>
<li>LCONSTWSXQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler</a>
</li>
<li>LREGDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler</a>
</li>
<li>LREGQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler</a>
</li>
<li>LRFLAGS
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler</a>
</li>
<li>LVSP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>MULQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a65232b40f75ab995af9eea0d5aee6444">vm::handler</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>NANDDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler</a>
</li>
<li>NANDQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler</a>
</li>
<li>NANDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler</a>
</li>
<li>none
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a8dffe0c4e6ca7a545daca4edac325522">vm::handler</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>PUSHVSP
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>READDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler</a>
</li>
<li>READQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler</a>
</li>
<li>READW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>SHLDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81">vm::handler</a>
</li>
<li>SHLQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3">vm::handler</a>
</li>
<li>SHRQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler</a>
</li>
<li>SHRW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler</a>
</li>
<li>sign_extend
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d">vm::handler</a>
</li>
<li>SREGDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler</a>
</li>
<li>SREGQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler</a>
</li>
<li>SREGW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>VMEXIT
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>WRITEB
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241">vm::handler</a>
</li>
<li>WRITEDW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160">vm::handler</a>
</li>
<li>WRITEQ
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14">vm::handler</a>
</li>
<li>WRITEW
: <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5">vm::handler</a>
</li>
</ul>
<h3><a id="index_z"></a>- z -</h3><ul>
<li>zero_extend
: <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725">vm::handler</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,237 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index__5F"></a>- _ -</h3><ul>
<li>__ROL1__()
: <a class="el" href="namespacevm_1_1transform.html#a2f914dc341284423d3cf0bc83fbbc6d4">vm::transform</a>
</li>
<li>__ROL2__()
: <a class="el" href="namespacevm_1_1transform.html#af597f7ca1a317d800345ba0ce3139145">vm::transform</a>
</li>
<li>__ROL4__()
: <a class="el" href="namespacevm_1_1transform.html#a5845d259b97aa94ad627cb323f79bc43">vm::transform</a>
</li>
<li>__ROL8__()
: <a class="el" href="namespacevm_1_1transform.html#adeb404f2e3208d35eae516af9d979814">vm::transform</a>
</li>
<li>__ROL__()
: <a class="el" href="namespacevm_1_1transform.html#a95343da0cff7223109113b65ff4211b6">vm::transform</a>
</li>
<li>__ROR1__()
: <a class="el" href="namespacevm_1_1transform.html#a22a3bc4437a3fe171d16c08e26bd8098">vm::transform</a>
</li>
<li>__ROR2__()
: <a class="el" href="namespacevm_1_1transform.html#ae461230c2fd31540a32f7b7d439c00cc">vm::transform</a>
</li>
<li>__ROR4__()
: <a class="el" href="namespacevm_1_1transform.html#a84ceeae51a16def42530b6ce2bd52d23">vm::transform</a>
</li>
<li>__ROR8__()
: <a class="el" href="namespacevm_1_1transform.html#a8a109ae3f6a76f60fafedabde509594f">vm::transform</a>
</li>
</ul>
<h3><a id="index_a"></a>- a -</h3><ul>
<li>apply()
: <a class="el" href="namespacevm_1_1transform.html#a4f111b0cc38dd9e03f6f5eed3fa824f7">vm::transform</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>code_block_addr()
: <a class="el" href="namespacevm_1_1instrs.html#a5ee4814b206e0a4f8fc27356efc9503a">vm::instrs</a>
</li>
<li>compare()
: <a class="el" href="namespacevm_1_1util_1_1reg.html#aa6e516ed1170cd627f330ca68c1bfd4b">vm::util::reg</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>decrypt()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#aa8ffcb4e9e445f940723179cf9c87818">vm::handler::table</a>
</li>
<li>decrypt_operand()
: <a class="el" href="namespacevm_1_1instrs.html#a995be4b7dd3764aec88207611a2b879d">vm::instrs</a>
</li>
<li>deobfuscate()
: <a class="el" href="namespacevm_1_1util.html#afb0bd6aeba990fd37a612d6d318cebb5">vm::util</a>
</li>
</ul>
<h3><a id="index_e"></a>- e -</h3><ul>
<li>encrypt()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#a69494eb8dca48abd03ff543c8adbf186">vm::handler::table</a>
</li>
<li>encrypt_operand()
: <a class="el" href="namespacevm_1_1instrs.html#a388b00855c582da503850d72de7e8f57">vm::instrs</a>
</li>
</ul>
<h3><a id="index_f"></a>- f -</h3><ul>
<li>flatten()
: <a class="el" href="namespacevm_1_1util.html#a86a98ad0643716aef1ef80b3cd58d0e9">vm::util</a>
</li>
</ul>
<h3><a id="index_g"></a>- g -</h3><ul>
<li>get()
: <a class="el" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">vm::calc_jmp</a>
, <a class="el" href="namespacevm_1_1handler.html#aa04be3f452edc65f17c38ef91fbed341">vm::handler</a>
, <a class="el" href="namespacevm_1_1handler_1_1table.html#a664a7f96f12e1305466df77d761d43fc">vm::handler::table</a>
, <a class="el" href="namespacevm_1_1instrs.html#aa7a629de41909a287c549397a4043c2f">vm::instrs</a>
</li>
<li>get_advancement()
: <a class="el" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">vm::calc_jmp</a>
</li>
<li>get_all()
: <a class="el" href="namespacevm_1_1handler.html#ae40eade4312e1383ae334ad2e0adacbf">vm::handler</a>
</li>
<li>get_fetch_operand()
: <a class="el" href="namespacevm_1_1util.html#a6ef2ebfb858878e2e06d3c96ef5b275b">vm::util</a>
</li>
<li>get_imm()
: <a class="el" href="namespacevm_1_1instrs.html#a432536e816a10200518676e5616335a6">vm::instrs</a>
</li>
<li>get_jcc_data()
: <a class="el" href="namespacevm_1_1instrs.html#a093e8f1c37d98c4454a3d0b58fda6188">vm::instrs</a>
</li>
<li>get_operand_transforms()
: <a class="el" href="namespacevm_1_1handler.html#ad63629408ca7f8b34169a38399ffcf02">vm::handler</a>
</li>
<li>get_profile()
: <a class="el" href="namespacevm_1_1handler.html#ad410231628efa1c4ee7fe9a8c4c7db90">vm::handler</a>
</li>
<li>get_rva_decrypt()
: <a class="el" href="namespacevm_1_1instrs.html#abfbe5c819730d2693296df3c71393de3">vm::instrs</a>
</li>
<li>get_transform()
: <a class="el" href="namespacevm_1_1handler_1_1table.html#a5e8586b80ccde98882291ded921749ff">vm::handler::table</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>has_imm()
: <a class="el" href="namespacevm_1_1handler.html#ab830e56e2b4ee32851937ae0fe1a4918">vm::handler</a>
, <a class="el" href="namespacevm_1_1transform.html#a9c79900f35ec03b9f38b239e4678788c">vm::transform</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>imm_size()
: <a class="el" href="namespacevm_1_1handler.html#a073cb14b6691023771ad8eada2452138">vm::handler</a>
</li>
<li>inverse_transforms()
: <a class="el" href="namespacevm_1_1transform.html#a362be5277a6670ab1e2715673f759ae7">vm::transform</a>
</li>
<li>is_jmp()
: <a class="el" href="namespacevm_1_1util.html#a3bb957b17b2bd94bb66c94b2407799c8">vm::util</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>make_virtual_register()
: <a class="el" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">vm::lifters</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>print()
: <a class="el" href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">vm::util</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>to64()
: <a class="el" href="namespacevm_1_1util_1_1reg.html#a00b8eb62aa844682cceca117eca5b945">vm::util::reg</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>valid()
: <a class="el" href="namespacevm_1_1transform.html#aa14dcd108c7800a9763255873e474988">vm::transform</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>lifter_callback_t
: <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">vm::lifters</a>
</li>
<li>lifter_t
: <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters</a>
</li>
<li>map_t
: <a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">vm::transform</a>
</li>
<li>transform_t
: <a class="el" href="namespacevm_1_1transform.html#a67d5906292cf0f9aa61364e0846fa1e6">vm::transform</a>
</li>
<li>zydis_callback_t
: <a class="el" href="namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be">vm::handler</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,316 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index__5F"></a>- _ -</h3><ul>
<li>_add
: <a class="el" href="namespacevm_1_1transform.html#a281896b8949d10bf13fe43c6467766ef">vm::transform</a>
</li>
<li>_bswap
: <a class="el" href="namespacevm_1_1transform.html#a688d8184e8ff721cbe284891a79649be">vm::transform</a>
</li>
<li>_dec
: <a class="el" href="namespacevm_1_1transform.html#a15aa399b06335fdc06b738f5053eec27">vm::transform</a>
</li>
<li>_inc
: <a class="el" href="namespacevm_1_1transform.html#a127fda1c7440c539496a2265a089ed25">vm::transform</a>
</li>
<li>_neg
: <a class="el" href="namespacevm_1_1transform.html#a734672243d8d96890e13da03edb148ba">vm::transform</a>
</li>
<li>_not
: <a class="el" href="namespacevm_1_1transform.html#aef95e6402789d702d4a0dceb09c58fdf">vm::transform</a>
</li>
<li>_rol
: <a class="el" href="namespacevm_1_1transform.html#a95949473ea57a6a4b310b3701ddbc646">vm::transform</a>
</li>
<li>_ror
: <a class="el" href="namespacevm_1_1transform.html#ab2a83f6cb174fe5a090d38f4b426865a">vm::transform</a>
</li>
<li>_sub
: <a class="el" href="namespacevm_1_1transform.html#a91ad3d31de52b5178cbf433259b887d9">vm::transform</a>
</li>
<li>_xor
: <a class="el" href="namespacevm_1_1transform.html#a4ee7a00ae0c62ad5db5455d16ac64491">vm::transform</a>
</li>
</ul>
<h3><a id="index_a"></a>- a -</h3><ul>
<li>adddw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a5bf6399e884a3e41d3cb953f00d62c13">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a7332fe92bc5b62d3a1eadc3be1650286">vm::lifters</a>
</li>
<li>addq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6fec819ec586b0f38fd4dc9489a2faf8">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a0491abd30c8c9f167a5573fedc83326c">vm::lifters</a>
</li>
<li>addw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ac6638f78fcb7d781db4476b11bd3c139">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a15434e7a31a2d0839b9fc423879576b9">vm::lifters</a>
</li>
<li>all
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a39376b2fb191d8ff1af7ef0128f715ed">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a74eecbae2fe9125108fed0a717c4d1fd">vm::lifters</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>call
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a8f262e2cec2009b84e4b01c93a16d9bc">vm::handler::profile</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>divq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#af13cfd2b6021da3a4a6c49523d7ffb39">vm::handler::profile</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>inverse
: <a class="el" href="namespacevm_1_1transform.html#a694675c95aced2c9e406c26d0313ba9a">vm::transform</a>
</li>
</ul>
<h3><a id="index_j"></a>- j -</h3><ul>
<li>jmp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a677748b24e229ec7417fa89092928fae">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a5cebba7ce499bc0606117613599fa5d8">vm::lifters</a>
</li>
</ul>
<h3><a id="index_l"></a>- l -</h3><ul>
<li>lconstbsxdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9564effe8ffeb39e275721e0061d2329">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a72d98a11da4c9e39ec2b5b2afd22e70c">vm::lifters</a>
</li>
<li>lconstbsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a3e8dd1515687cbf22241bb7b0ac9c20a">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9c2ff30b47ff5f62aae07043f6e54c07">vm::lifters</a>
</li>
<li>lconstbzxw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a894ae9fb4ec1e6a1a2509e8180ecae09">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ae1b69c3029b02505fd5c3b888d9a2f53">vm::lifters</a>
</li>
<li>lconstdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a372c4bf2fd4e6925a143d2fa4f7b1d3c">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a542f3b5caa1095dd8025c9fa33a54140">vm::lifters</a>
</li>
<li>lconstdwsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#aaeefadf94f965a133da38f0018c3a3fa">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#af9e2ac54515ca216d4eaa5afc84e2001">vm::lifters</a>
</li>
<li>lconstq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9bd4c8f24b989dd0b4d2939f80ce229a">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a6024fb9a51be812a67b061962b4a9073">vm::lifters</a>
</li>
<li>lconstw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a10a05027b8a8e7b743b4864887ae2726">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#adf386a124868fdac0799765abc41318c">vm::lifters</a>
</li>
<li>lconstwsxdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ae1b7c27b6a7e02e2ff12583429a50fc5">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a0037d3980a52839a609d1af3401e93d3">vm::lifters</a>
</li>
<li>lconstwsxq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a15f60c9f437f9051a35d2f75865b8a96">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a17c37df162f730e307de53489b5112da">vm::lifters</a>
</li>
<li>lregdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#aa4ec0ea607d5a6f1288912ce4a888443">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a44522dea5997a2c5d4f743bee1ea4084">vm::lifters</a>
</li>
<li>lregq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a414cfdeee11134889ee43e27db751810">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a8f85b8d616456ffaf0699e34643aa5a9">vm::lifters</a>
</li>
<li>lrflags
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a5548b091697d700b516f23e807880d55">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a34a345873c127b0bf9225051ce8453bf">vm::lifters</a>
</li>
<li>lvsp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a355ddd09a3e6f6978304c70d3a33aff7">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ad481b2cb4df18abe8727e942bae7d00c">vm::lifters</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>mulq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a570412f201d1738c4ac5ecac2dc90a2d">vm::handler::profile</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>nanddw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a57bdbf79f0a2209d3599a6684b337d41">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9cf0e6ca49b7789e313686478c3590bb">vm::lifters</a>
</li>
<li>nandq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a44a09dbad0ad33f4e9a3e03547befee1">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a9693c38a1eb8ff1d4849e93929e3debf">vm::lifters</a>
</li>
<li>nandw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a9c947e851b1e0829f15fb5fccb77c016">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ac3ae8152bf358b6ab2e705624de1b7c3">vm::lifters</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>pushvsp
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a3d827f69b569476e699a96c16b0334f6">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#aedbb6765771fc1b8dcea94891bf23684">vm::lifters</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>readdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a7dcb388eb57317a1fb30a882c1f659de">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a1e05b6d05c703d4ea79ed6dca1466708">vm::lifters</a>
</li>
<li>readq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6969c269658e6069415fc19924a8eff1">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a4dd33a06403bf5e6cc5b0f833e88508a">vm::lifters</a>
</li>
<li>readw
: <a class="el" href="namespacevm_1_1lifters.html#a5b37dec0f1b7182f3aefbfe6a102096b">vm::lifters</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>shldw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a94b3e7b23ca523249a1b4149f2b221a9">vm::handler::profile</a>
</li>
<li>shlq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a8be3b9aa44bba9c01a0544356f4a35ad">vm::handler::profile</a>
</li>
<li>shrq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#ab32d8a91ff2c9e28a0e5062338d9ef14">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#af33473ca92a8e1ab2e1a965b7520110d">vm::lifters</a>
</li>
<li>shrw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a53a3ad22aa1a2f0e83eeda486f447cfc">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a129e17bac76f26029ea048d5f459fd8e">vm::lifters</a>
</li>
<li>sregdw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a4918ca8880971ab57dde31168d0c52ff">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a1ed6bccf37fd06d306357cc231dc85d8">vm::lifters</a>
</li>
<li>sregq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6c5922a24f03ad5104fad36b59cdb664">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#ad71cc0003e40f40512d4f755bf128f75">vm::lifters</a>
</li>
<li>sregw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a4f55c3b0945cb86413d3c40fc08d6db7">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#aab4b15f694be1f476b6336cc0b4cbf83">vm::lifters</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>transforms
: <a class="el" href="namespacevm_1_1transform.html#ac5fcbe5497bc1e136caf781b61fbd8f1">vm::transform</a>
</li>
</ul>
<h3><a id="index_v"></a>- v -</h3><ul>
<li>vmexit
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6c388fd726713355c8c37cb9776c83c7">vm::handler::profile</a>
, <a class="el" href="namespacevm_1_1lifters.html#a8d8d8c92bc0e93b2301aa101600f0f5e">vm::lifters</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>writeb
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a1192aea2b68e7e979971a8b683819749">vm::handler::profile</a>
</li>
<li>writedw
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a6a00ac48c8ce010f1d3d55573beb52aa">vm::handler::profile</a>
</li>
<li>writeq
: <a class="el" href="namespacevm_1_1handler_1_1profile.html#a64dd8aa864a3d3e6956cdb177947f739">vm::handler::profile</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Namespace List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Namespace List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all namespaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm.html" target="_self">vm</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1calc__jmp.html" target="_self">calc_jmp</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1handler.html" target="_self">handler</a></td><td class="desc">contains all information pertaining to vm handler identification.. </td></tr>
<tr id="row_0_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1handler_1_1profile.html" target="_self">profile</a></td><td class="desc">contains all profiles defined, as well as a vector of all of the defined profiles.. </td></tr>
<tr id="row_0_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1handler_1_1table.html" target="_self">table</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1handler_1_1handler__t.html" target="_self">handler_t</a></td><td class="desc"><a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a> contains all the information for a vm handler such as its immidate value size (zero if there is no imm), the transformations applied to the imm to decrypt it (if any), a pointer to the profile (nullptr if there is none), and other meta data.. </td></tr>
<tr id="row_0_1_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1handler_1_1profile__t.html" target="_self">profile_t</a></td><td class="desc">pre defined vm handler profile containing all compiled time known information about a vm handler.. </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1instrs.html" target="_self">instrs</a></td><td class="desc">contains all functions related to virtual instructions.. </td></tr>
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html" target="_self">virt_instr_t</a></td><td class="desc"></td></tr>
<tr id="row_0_2_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1jcc__data.html" target="_self">jcc_data</a></td><td class="desc"></td></tr>
<tr id="row_0_2_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvm_1_1instrs_1_1code__block__t.html" target="_self">code_block_t</a></td><td class="desc"></td></tr>
<tr id="row_0_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1lifters.html" target="_self">lifters</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1transform.html" target="_self">transform</a></td><td class="desc"></td></tr>
<tr id="row_0_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_5_" class="arrow" onclick="toggleFolder('0_5_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1util.html" target="_self">util</a></td><td class="desc">utils used by the other cpp files... misc things that get used a lot.. </td></tr>
<tr id="row_0_5_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevm_1_1util_1_1reg.html" target="_self">reg</a></td><td class="desc">utils pertaining to native registers.. </td></tr>
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classvm_1_1ctx__t.html" target="_self">ctx_t</a></td><td class="desc"><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> class is used to auto generate vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and other per-vm entry information... creating a <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> object can make it easier to pass around information pertaining to a given vm entry.. </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2.html" target="_self">vmp2</a></td><td class="desc"></td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v1.html" target="_self">v1</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v1_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v1_1_1entry__t.html" target="_self">entry_t</a></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v2.html" target="_self">v2</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v2_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v2_1_1entry__t.html" target="_self">entry_t</a></td><td class="desc"></td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_2_" class="arrow" onclick="toggleFolder('1_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacevmp2_1_1v3.html" target="_self">v3</a></td><td class="desc"></td></tr>
<tr id="row_1_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v3_1_1file__header.html" target="_self">file_header</a></td><td class="desc"></td></tr>
<tr id="row_1_2_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structvmp2_1_1v3_1_1code__block__t.html" target="_self">code_block_t</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,105 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">vm Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm_1_1calc__jmp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html">handler</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all information pertaining to vm handler identification... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1instrs"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html">instrs</a></td></tr>
<tr class="memdesc:namespacevm_1_1instrs"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all functions related to virtual instructions... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1lifters"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html">lifters</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1transform"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1transform.html">transform</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1util"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html">util</a></td></tr>
<tr class="memdesc:namespacevm_1_1util"><td class="mdescLeft">&#160;</td><td class="mdescRight">utils used by the other cpp files... misc things that get used a lot... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvm_1_1ctx__t.html">ctx_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> class is used to auto generate vm_entry, <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, and other per-vm entry information... creating a <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a> object can make it easier to pass around information pertaining to a given vm entry... <a href="classvm_1_1ctx__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::calc_jmp Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::calc_jmp Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a20adb0aacf7a4ccf90484540c8004a30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">get</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a20adb0aacf7a4ccf90484540c8004a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">extracts <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> out of vm_entry... you can learn about <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> <a href="https://back.engineering/17/05/2021/#calc_jmp">here</a>. <a href="namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30">More...</a><br /></td></tr>
<tr class="separator:a20adb0aacf7a4ccf90484540c8004a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963e598b01968c61ef992a9c7235cf8e"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">get_advancement</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;calc_jmp)</td></tr>
<tr class="memdesc:a963e598b01968c61ef992a9c7235cf8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the advancement of the virtual instruction pointer... iterates over <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information... <a href="namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e">More...</a><br /></td></tr>
<tr class="separator:a963e598b01968c61ef992a9c7235cf8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a20adb0aacf7a4ccf90484540c8004a30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20adb0aacf7a4ccf90484540c8004a30">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::calc_jmp::get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>calc_jmp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>extracts <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> out of vm_entry... you can learn about <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> <a href="https://back.engineering/17/05/2021/#calc_jmp">here</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_entry</td><td>pass by reference vm entry...</td></tr>
<tr><td class="paramname"><a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a></td><td>zydis_routine_t filled up with native instructions by this routine...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns truee if no errors happen...</dd></dl>
</div>
</div>
<a id="a963e598b01968c61ef992a9c7235cf8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a963e598b01968c61ef992a9c7235cf8e">&#9670;&nbsp;</a></span>get_advancement()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a> &gt; vm::calc_jmp::get_advancement </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>calc_jmp</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the advancement of the virtual instruction pointer... iterates over <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a> for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname"><a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a></td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,599 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::handler Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1handler.html">handler</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::handler Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>contains all information pertaining to vm handler identification...
<a href="namespacevm_1_1handler.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm_1_1handler_1_1profile"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1profile.html">profile</a></td></tr>
<tr class="memdesc:namespacevm_1_1handler_1_1profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains all profiles defined, as well as a vector of all of the defined profiles... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevm_1_1handler_1_1table"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1table.html">table</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a> contains all the information for a vm handler such as its immidate value size (zero if there is no imm), the transformations applied to the imm to decrypt it (if any), a pointer to the profile (nullptr if there is none), and other meta data... <a href="structvm_1_1handler_1_1handler__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm_1_1handler_1_1profile__t.html">profile_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">pre defined vm handler profile containing all compiled time known information about a vm handler... <a href="structvm_1_1handler_1_1profile__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a1016539777a69d79479f5fdf066440be"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be">zydis_callback_t</a> = std::function&lt; bool(const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;instr) &gt;</td></tr>
<tr class="memdesc:a1016539777a69d79479f5fdf066440be"><td class="mdescLeft">&#160;</td><td class="mdescRight">zydis callback lambda used to pattern match native instructions... <a href="namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be">More...</a><br /></td></tr>
<tr class="separator:a1016539777a69d79479f5fdf066440be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a83cdfb05acdea9268310c37165bd13c1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">mnemonic_t</a> { <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9bb151fee0df242f0a304a3785191465">INVALID</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">LRFLAGS</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">PUSHVSP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a65232b40f75ab995af9eea0d5aee6444">MULQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394">DIVQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9">CALL</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">JMP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">VMEXIT</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">LVSP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">SREGQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">SREGDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">SREGW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">LREGQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">LREGDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">LCONSTQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">LCONSTBZXW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">LCONSTBSXQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">LCONSTBSXDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">LCONSTDWSXQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">LCONSTWSXQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">LCONSTWSXDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">LCONSTDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">LCONSTW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">READQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">READDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">READW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14">WRITEQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160">WRITEDW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5">WRITEW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241">WRITEB</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">ADDQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">ADDDW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">ADDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3">SHLQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81">SHLDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">SHRQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">SHRW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">NANDQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">NANDDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">NANDW</a>
<br />
}</td></tr>
<tr class="memdesc:a83cdfb05acdea9268310c37165bd13c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">vm handler mnemonic... so you dont need to compare strings! <a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">More...</a><br /></td></tr>
<tr class="separator:a83cdfb05acdea9268310c37165bd13c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac79240b14c7251b5358709c130821e07"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07">extention_t</a> { <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a8dffe0c4e6ca7a545daca4edac325522">none</a>
, <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d">sign_extend</a>
, <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725">zero_extend</a>
}</td></tr>
<tr class="memdesc:ac79240b14c7251b5358709c130821e07"><td class="mdescLeft">&#160;</td><td class="mdescRight">how sign extention is handled... <a href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07">More...</a><br /></td></tr>
<tr class="separator:ac79240b14c7251b5358709c130821e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab830e56e2b4ee32851937ae0fe1a4918"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ab830e56e2b4ee32851937ae0fe1a4918">has_imm</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_handler)</td></tr>
<tr class="memdesc:ab830e56e2b4ee32851937ae0fe1a4918"><td class="mdescLeft">&#160;</td><td class="mdescRight">given a vm handler returns true if the vm handler decrypts an operand... <a href="namespacevm_1_1handler.html#ab830e56e2b4ee32851937ae0fe1a4918">More...</a><br /></td></tr>
<tr class="separator:ab830e56e2b4ee32851937ae0fe1a4918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a073cb14b6691023771ad8eada2452138"><td class="memItemLeft" align="right" valign="top">std::optional&lt; std::uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#a073cb14b6691023771ad8eada2452138">imm_size</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_handler)</td></tr>
<tr class="memdesc:a073cb14b6691023771ad8eada2452138"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the imm size of a vm handler... <a href="namespacevm_1_1handler.html#a073cb14b6691023771ad8eada2452138">More...</a><br /></td></tr>
<tr class="separator:a073cb14b6691023771ad8eada2452138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa04be3f452edc65f17c38ef91fbed341"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#aa04be3f452edc65f17c38ef91fbed341">get</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_handler, std::uintptr_t handler_addr)</td></tr>
<tr class="memdesc:aa04be3f452edc65f17c38ef91fbed341"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets a vm handler, puts all of the native instructions inside of the vm_handler param... <a href="namespacevm_1_1handler.html#aa04be3f452edc65f17c38ef91fbed341">More...</a><br /></td></tr>
<tr class="separator:aa04be3f452edc65f17c38ef91fbed341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae40eade4312e1383ae334ad2e0adacbf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ae40eade4312e1383ae334ad2e0adacbf">get_all</a> (std::uintptr_t module_base, std::uintptr_t image_base, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, std::uintptr_t *vm_handler_table, std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a> &gt; &amp;vm_handlers)</td></tr>
<tr class="memdesc:ae40eade4312e1383ae334ad2e0adacbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">get all 256 vm handlers... <a href="namespacevm_1_1handler.html#ae40eade4312e1383ae334ad2e0adacbf">More...</a><br /></td></tr>
<tr class="separator:ae40eade4312e1383ae334ad2e0adacbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63629408ca7f8b34169a38399ffcf02"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ad63629408ca7f8b34169a38399ffcf02">get_operand_transforms</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_handler, <a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;transforms)</td></tr>
<tr class="memdesc:ad63629408ca7f8b34169a38399ffcf02"><td class="mdescLeft">&#160;</td><td class="mdescRight">get operand decryption instructions given a vm handler... <a href="namespacevm_1_1handler.html#ad63629408ca7f8b34169a38399ffcf02">More...</a><br /></td></tr>
<tr class="separator:ad63629408ca7f8b34169a38399ffcf02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad410231628efa1c4ee7fe9a8c4c7db90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvm_1_1handler_1_1profile__t.html">vm::handler::profile_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ad410231628efa1c4ee7fe9a8c4c7db90">get_profile</a> (<a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a> &amp;vm_handler)</td></tr>
<tr class="memdesc:ad410231628efa1c4ee7fe9a8c4c7db90"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a vm handler profile given a <a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a>... <a href="namespacevm_1_1handler.html#ad410231628efa1c4ee7fe9a8c4c7db90">More...</a><br /></td></tr>
<tr class="separator:ad410231628efa1c4ee7fe9a8c4c7db90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba01b3a015d7f25b83261e9183a2e40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvm_1_1handler_1_1profile__t.html">vm::handler::profile_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#a0ba01b3a015d7f25b83261e9183a2e40">get_profile</a> (<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a> mnemonic)</td></tr>
<tr class="memdesc:a0ba01b3a015d7f25b83261e9183a2e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a vm handler profile given the mnemonic of the vm handler... <a href="namespacevm_1_1handler.html#a0ba01b3a015d7f25b83261e9183a2e40">More...</a><br /></td></tr>
<tr class="separator:a0ba01b3a015d7f25b83261e9183a2e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e88e98b57b69a61e344e17386a06c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler.html#ae5e88e98b57b69a61e344e17386a06c3">get_all</a> (std::uintptr_t module_base, std::uintptr_t image_base, <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, std::uintptr_t *vm_handler_table, std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">vm::handler::handler_t</a> &gt; &amp;vm_handlers)</td></tr>
<tr class="separator:ae5e88e98b57b69a61e344e17386a06c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>contains all information pertaining to vm handler identification... </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a1016539777a69d79479f5fdf066440be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1016539777a69d79479f5fdf066440be">&#9670;&nbsp;</a></span>zydis_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be">vm::handler::zydis_callback_t</a> = typedef std::function&lt; bool( const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;instr ) &gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>zydis callback lambda used to pattern match native instructions... </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ac79240b14c7251b5358709c130821e07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac79240b14c7251b5358709c130821e07">&#9670;&nbsp;</a></span>extention_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07">vm::handler::extention_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>how sign extention is handled... </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac79240b14c7251b5358709c130821e07a8dffe0c4e6ca7a545daca4edac325522"></a>none&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d"></a>sign_extend&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725"></a>zero_extend&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a83cdfb05acdea9268310c37165bd13c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83cdfb05acdea9268310c37165bd13c1">&#9670;&nbsp;</a></span>mnemonic_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>vm handler mnemonic... so you dont need to compare strings! </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a9bb151fee0df242f0a304a3785191465"></a>INVALID&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423"></a>LRFLAGS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f"></a>PUSHVSP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a65232b40f75ab995af9eea0d5aee6444"></a>MULQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394"></a>DIVQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9"></a>CALL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8"></a>JMP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e"></a>VMEXIT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df"></a>LVSP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e"></a>SREGQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974"></a>SREGDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb"></a>SREGW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3"></a>LREGQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f"></a>LREGDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c"></a>LCONSTQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8"></a>LCONSTBZXW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11"></a>LCONSTBSXQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93"></a>LCONSTBSXDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591"></a>LCONSTDWSXQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b"></a>LCONSTWSXQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7"></a>LCONSTWSXDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b"></a>LCONSTDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7"></a>LCONSTW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b"></a>READQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b"></a>READDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47"></a>READW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14"></a>WRITEQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160"></a>WRITEDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5"></a>WRITEW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241"></a>WRITEB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b"></a>ADDQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f"></a>ADDDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6"></a>ADDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3"></a>SHLQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81"></a>SHLDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec"></a>SHRQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37"></a>SHRW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a"></a>NANDQ&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0"></a>NANDDW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13"></a>NANDW&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aa04be3f452edc65f17c38ef91fbed341"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa04be3f452edc65f17c38ef91fbed341">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>handler_addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets a vm handler, puts all of the native instructions inside of the vm_handler param... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_entry</td><td>reference to a zydis_routine_t containing the native instructions of a vm entry...</td></tr>
<tr><td class="paramname">vm_handler</td><td>reference to a zydis_routine_t that will get filled with the native instructions of the vm handler...</td></tr>
<tr><td class="paramname">handler_addr</td><td>linear virtual address to the first instruction of the vm handler...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if the native instructions of the vm handler was extracted...</dd></dl>
</div>
</div>
<a id="ae40eade4312e1383ae334ad2e0adacbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae40eade4312e1383ae334ad2e0adacbf">&#9670;&nbsp;</a></span>get_all() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::get_all </td>
<td>(</td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>module_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>image_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t *&#160;</td>
<td class="paramname"><em>vm_handler_table</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>vm_handlers</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get all 256 vm handlers... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">module_base</td><td>linear virtual address of the module base...</td></tr>
<tr><td class="paramname">image_base</td><td>image base from optional nt header... <a href="https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64">IMAGE_OPTIONAL_HEADER64</a>...</td></tr>
<tr><td class="paramname">vm_entry</td><td>zydis_routine_t containing the deobfuscated and flattened vm entry native instructions...</td></tr>
<tr><td class="paramname">vm_handler_table</td><td>linear virtual address to the vm handler table...</td></tr>
<tr><td class="paramname">vm_handlers</td><td>vector of <a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a>'s that will be filled with the vm handlers...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if all vm handlers were extracted, else false...</dd></dl>
</div>
</div>
<a id="ae5e88e98b57b69a61e344e17386a06c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5e88e98b57b69a61e344e17386a06c3">&#9670;&nbsp;</a></span>get_all() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::get_all </td>
<td>(</td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>module_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>image_base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t *&#160;</td>
<td class="paramname"><em>vm_handler_table</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="structvm_1_1handler_1_1handler__t.html">vm::handler::handler_t</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>vm_handlers</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad63629408ca7f8b34169a38399ffcf02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad63629408ca7f8b34169a38399ffcf02">&#9670;&nbsp;</a></span>get_operand_transforms()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::get_operand_transforms </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_handler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;&#160;</td>
<td class="paramname"><em>transforms</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get operand decryption instructions given a vm handler... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_handler</td><td>reference to a zydis_routine_t containing the deobfuscated and flattened vm handler native instructions...</td></tr>
<tr><td class="paramname">transforms</td><td>reference to a <a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025" title="map of transform type to zydis decoded instruction of the transform...">transform::map_t</a> that will get filled up with the transforms needed to decrypt operands...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if the transformations were extracted successfully</dd></dl>
</div>
</div>
<a id="ad410231628efa1c4ee7fe9a8c4c7db90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad410231628efa1c4ee7fe9a8c4c7db90">&#9670;&nbsp;</a></span>get_profile() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structvm_1_1handler_1_1profile__t.html">vm::handler::profile_t</a> * vm::handler::get_profile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structvm_1_1handler_1_1handler__t.html">handler_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get a vm handler profile given a <a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a>... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_handler</td><td>reference to a <a class="el" href="structvm_1_1handler_1_1handler__t.html" title="handler_t contains all the information for a vm handler such as its immidate value size (zero if ther...">handler_t</a> structure that contains all the information of a given vm handler...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns a pointer to the vm profile, else a nullptr...</dd></dl>
</div>
</div>
<a id="a0ba01b3a015d7f25b83261e9183a2e40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ba01b3a015d7f25b83261e9183a2e40">&#9670;&nbsp;</a></span>get_profile() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structvm_1_1handler_1_1profile__t.html">vm::handler::profile_t</a> * vm::handler::get_profile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a>&#160;</td>
<td class="paramname"><em>mnemonic</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get a vm handler profile given the mnemonic of the vm handler... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mnemonic</td><td>mnemonic of the vm handler...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns a pointer to the profile if the given menmonic is implimented, else a nullptr...</dd></dl>
</div>
</div>
<a id="ab830e56e2b4ee32851937ae0fe1a4918"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab830e56e2b4ee32851937ae0fe1a4918">&#9670;&nbsp;</a></span>has_imm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::has_imm </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>given a vm handler returns true if the vm handler decrypts an operand... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_handler</td><td>const reference to a vm handler...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if the vm handler decrypts an operand, else false...</dd></dl>
</div>
</div>
<a id="a073cb14b6691023771ad8eada2452138"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a073cb14b6691023771ad8eada2452138">&#9670;&nbsp;</a></span>imm_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; std::uint8_t &gt; vm::handler::imm_size </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the imm size of a vm handler... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_handler</td><td>const reference to a vm handler...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the imm size, otherwise returns an empty optional value...</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,241 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::handler::table Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1handler.html">handler</a></li><li class="navelem"><a class="el" href="namespacevm_1_1handler_1_1table.html">table</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::handler::table Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a664a7f96f12e1305466df77d761d43fc"><td class="memItemLeft" align="right" valign="top">std::uintptr_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1table.html#a664a7f96f12e1305466df77d761d43fc">get</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry)</td></tr>
<tr class="memdesc:a664a7f96f12e1305466df77d761d43fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the linear virtual address of the vm handler table give a deobfuscated, flattened, vm entry... <a href="namespacevm_1_1handler_1_1table.html#a664a7f96f12e1305466df77d761d43fc">More...</a><br /></td></tr>
<tr class="separator:a664a7f96f12e1305466df77d761d43fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e8586b80ccde98882291ded921749ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1table.html#a5e8586b80ccde98882291ded921749ff">get_transform</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> *transform_instr)</td></tr>
<tr class="memdesc:a5e8586b80ccde98882291ded921749ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the single native instruction used to decrypt vm handler entries... <a href="namespacevm_1_1handler_1_1table.html#a5e8586b80ccde98882291ded921749ff">More...</a><br /></td></tr>
<tr class="separator:a5e8586b80ccde98882291ded921749ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69494eb8dca48abd03ff543c8adbf186"><td class="memItemLeft" align="right" valign="top">std::uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1table.html#a69494eb8dca48abd03ff543c8adbf186">encrypt</a> (<a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;transform_instr, std::uint64_t val)</td></tr>
<tr class="memdesc:a69494eb8dca48abd03ff543c8adbf186"><td class="mdescLeft">&#160;</td><td class="mdescRight">encrypt a linear virtual address given the transformation that is used to decrypt the vm handler table entry... this function will apply the inverse of the transformation so you dont need to get the inverse yourself... <a href="namespacevm_1_1handler_1_1table.html#a69494eb8dca48abd03ff543c8adbf186">More...</a><br /></td></tr>
<tr class="separator:a69494eb8dca48abd03ff543c8adbf186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8ffcb4e9e445f940723179cf9c87818"><td class="memItemLeft" align="right" valign="top">std::uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1table.html#aa8ffcb4e9e445f940723179cf9c87818">decrypt</a> (<a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;transform_instr, std::uint64_t val)</td></tr>
<tr class="memdesc:aa8ffcb4e9e445f940723179cf9c87818"><td class="mdescLeft">&#160;</td><td class="mdescRight">decrypts a vm handler table entry... <a href="namespacevm_1_1handler_1_1table.html#aa8ffcb4e9e445f940723179cf9c87818">More...</a><br /></td></tr>
<tr class="separator:aa8ffcb4e9e445f940723179cf9c87818"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="aa8ffcb4e9e445f940723179cf9c87818"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8ffcb4e9e445f940723179cf9c87818">&#9670;&nbsp;</a></span>decrypt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint64_t vm::handler::table::decrypt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;&#160;</td>
<td class="paramname"><em>transform_instr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>decrypts a vm handler table entry... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transform_instr</td><td>transformation extracted from vm_entry that decrypts vm handler table entries...</td></tr>
<tr><td class="paramname">val</td><td>encrypted value to be decrypted...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the decrypted value...</dd></dl>
</div>
</div>
<a id="a69494eb8dca48abd03ff543c8adbf186"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69494eb8dca48abd03ff543c8adbf186">&#9670;&nbsp;</a></span>encrypt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint64_t vm::handler::table::encrypt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;&#160;</td>
<td class="paramname"><em>transform_instr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>encrypt a linear virtual address given the transformation that is used to decrypt the vm handler table entry... this function will apply the inverse of the transformation so you dont need to get the inverse yourself... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transform_instr</td><td>reference to the transformation native instruction...</td></tr>
<tr><td class="paramname">val</td><td>value to be encrypted (linear virtual address)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the encrypted value...</dd></dl>
</div>
</div>
<a id="a664a7f96f12e1305466df77d761d43fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a664a7f96f12e1305466df77d761d43fc">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uintptr_t * vm::handler::table::get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get the linear virtual address of the vm handler table give a deobfuscated, flattened, vm entry... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_entry</td><td>deobfuscated, flattened, vm entry...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the linear virtual address of the vm handler table...</dd></dl>
</div>
</div>
<a id="a5e8586b80ccde98882291ded921749ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e8586b80ccde98882291ded921749ff">&#9670;&nbsp;</a></span>get_transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::handler::table::get_transform </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> *&#160;</td>
<td class="paramname"><em>transform_instr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get the single native instruction used to decrypt vm handler entries... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_entry</td><td>reference to the deobfuscated, flattened, vm entry...</td></tr>
<tr><td class="paramname">transform_instr</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,490 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::instrs Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1instrs.html">instrs</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::instrs Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>contains all functions related to virtual instructions...
<a href="namespacevm_1_1instrs.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm_1_1instrs_1_1code__block__t.html">code_block_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a6266fd623fdf44291ecc8897b060fd57"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57">jcc_type</a> { <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57a334c4a4c42fdb79d7ebc3e73b517e6f8">none</a>
, <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57a2c28b4e01b26788eab59ce1479b88494">branching</a>
, <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57adc4d53aa0d117d8b189b36d161af4e96">absolute</a>
}</td></tr>
<tr class="separator:a6266fd623fdf44291ecc8897b060fd57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abfbe5c819730d2693296df3c71393de3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#abfbe5c819730d2693296df3c71393de3">get_rva_decrypt</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;vm_entry, std::vector&lt; <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &gt; &amp;transform_instrs)</td></tr>
<tr class="memdesc:abfbe5c819730d2693296df3c71393de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the native instructions that are used to decrypt the relative virtual address to virtual instructions located on the stack at RSP+0xA0... you can learn about this <a class="el" href="">https://back.engineering/17/05/2021/#vm_entry</a> <a href="namespacevm_1_1instrs.html#abfbe5c819730d2693296df3c71393de3">More...</a><br /></td></tr>
<tr class="separator:abfbe5c819730d2693296df3c71393de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a995be4b7dd3764aec88207611a2b879d"><td class="memItemLeft" align="right" valign="top">std::pair&lt; std::uint64_t, std::uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a995be4b7dd3764aec88207611a2b879d">decrypt_operand</a> (<a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;transforms, std::uint64_t operand, std::uint64_t rolling_key)</td></tr>
<tr class="memdesc:a995be4b7dd3764aec88207611a2b879d"><td class="mdescLeft">&#160;</td><td class="mdescRight">decrypt virtual instruction operand given the decryption transformations... you can read about these transformations <a class="el" href="">https://back.engineering/17/05/2021/#operand-decryption</a> <a href="namespacevm_1_1instrs.html#a995be4b7dd3764aec88207611a2b879d">More...</a><br /></td></tr>
<tr class="separator:a995be4b7dd3764aec88207611a2b879d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a388b00855c582da503850d72de7e8f57"><td class="memItemLeft" align="right" valign="top">std::pair&lt; std::uint64_t, std::uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a388b00855c582da503850d72de7e8f57">encrypt_operand</a> (<a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;transforms, std::uint64_t operand, std::uint64_t rolling_key)</td></tr>
<tr class="memdesc:a388b00855c582da503850d72de7e8f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">encrypt a virtual instructions operand given the transformations to decrypt the operand... the transformations are inversed by this functions so you dont need to worry about doing that. <a href="namespacevm_1_1instrs.html#a388b00855c582da503850d72de7e8f57">More...</a><br /></td></tr>
<tr class="separator:a388b00855c582da503850d72de7e8f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a629de41909a287c549397a4043c2f"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#aa7a629de41909a287c549397a4043c2f">get</a> (<a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;ctx, <a class="el" href="structvmp2_1_1v2_1_1entry__t.html">vmp2::v2::entry_t</a> &amp;entry)</td></tr>
<tr class="memdesc:aa7a629de41909a287c549397a4043c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">get <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> filled in with data given a <a class="el" href="namespacevmp2.html">vmp2</a> trace entry and vm context... <a href="namespacevm_1_1instrs.html#aa7a629de41909a287c549397a4043c2f">More...</a><br /></td></tr>
<tr class="separator:aa7a629de41909a287c549397a4043c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a432536e816a10200518676e5616335a6"><td class="memItemLeft" align="right" valign="top">std::optional&lt; std::uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a432536e816a10200518676e5616335a6">get_imm</a> (<a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;ctx, std::uint8_t imm_size, std::uintptr_t vip)</td></tr>
<tr class="memdesc:a432536e816a10200518676e5616335a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the encrypted second operand (imm) given vip and <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a>... <a href="namespacevm_1_1instrs.html#a432536e816a10200518676e5616335a6">More...</a><br /></td></tr>
<tr class="separator:a432536e816a10200518676e5616335a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093e8f1c37d98c4454a3d0b58fda6188"><td class="memItemLeft" align="right" valign="top">std::optional&lt; <a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a093e8f1c37d98c4454a3d0b58fda6188">get_jcc_data</a> (<a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;ctx, <a class="el" href="structvm_1_1instrs_1_1code__block__t.html">code_block_t</a> &amp;code_block)</td></tr>
<tr class="memdesc:a093e8f1c37d98c4454a3d0b58fda6188"><td class="mdescLeft">&#160;</td><td class="mdescRight">get jcc data out of a code block... this function will loop over the code block and look for the last LCONSTDW in the virtual instructions. <a href="namespacevm_1_1instrs.html#a093e8f1c37d98c4454a3d0b58fda6188">More...</a><br /></td></tr>
<tr class="separator:a093e8f1c37d98c4454a3d0b58fda6188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee4814b206e0a4f8fc27356efc9503a"><td class="memItemLeft" align="right" valign="top">std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#a5ee4814b206e0a4f8fc27356efc9503a">code_block_addr</a> (const <a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;ctx, const <a class="el" href="structvmp2_1_1v2_1_1entry__t.html">vmp2::v2::entry_t</a> &amp;entry)</td></tr>
<tr class="memdesc:a5ee4814b206e0a4f8fc27356efc9503a"><td class="mdescLeft">&#160;</td><td class="mdescRight">the top of the stack will contain the lower 32bits of the RVA to the virtual instructions that will be jumping too... the RVA is image based (not module based, but optional header image based)... this means the value ontop of the stack could be "40007fd8" with image base being 0x140000000... as you can see the 0x100000000 is missing... the below statement deals with this... <a href="namespacevm_1_1instrs.html#a5ee4814b206e0a4f8fc27356efc9503a">More...</a><br /></td></tr>
<tr class="separator:a5ee4814b206e0a4f8fc27356efc9503a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab49694becc7c7cbd618468b675e1b22a"><td class="memItemLeft" align="right" valign="top">std::uintptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1instrs.html#ab49694becc7c7cbd618468b675e1b22a">code_block_addr</a> (const <a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;ctx, const std::uint32_t lower_32bits)</td></tr>
<tr class="memdesc:ab49694becc7c7cbd618468b675e1b22a"><td class="mdescLeft">&#160;</td><td class="mdescRight">same routine as above except lower_32bits is passed directly and not extracted from the stack... <a href="namespacevm_1_1instrs.html#ab49694becc7c7cbd618468b675e1b22a">More...</a><br /></td></tr>
<tr class="separator:ab49694becc7c7cbd618468b675e1b22a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>contains all functions related to virtual instructions... </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a6266fd623fdf44291ecc8897b060fd57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6266fd623fdf44291ecc8897b060fd57">&#9670;&nbsp;</a></span>jcc_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57">vm::instrs::jcc_type</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6266fd623fdf44291ecc8897b060fd57a334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a6266fd623fdf44291ecc8897b060fd57a2c28b4e01b26788eab59ce1479b88494"></a>branching&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a6266fd623fdf44291ecc8897b060fd57adc4d53aa0d117d8b189b36d161af4e96"></a>absolute&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab49694becc7c7cbd618468b675e1b22a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab49694becc7c7cbd618468b675e1b22a">&#9670;&nbsp;</a></span>code_block_addr() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uintptr_t vm::instrs::code_block_addr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::uint32_t&#160;</td>
<td class="paramname"><em>lower_32bits</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>same routine as above except lower_32bits is passed directly and not extracted from the stack... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>vm context</td></tr>
<tr><td class="paramname">lower_32bits</td><td>lower 32bits of the relative virtual address...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns full linear virtual address of code block...</dd></dl>
</div>
</div>
<a id="a5ee4814b206e0a4f8fc27356efc9503a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ee4814b206e0a4f8fc27356efc9503a">&#9670;&nbsp;</a></span>code_block_addr() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uintptr_t vm::instrs::code_block_addr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structvmp2_1_1v2_1_1entry__t.html">vmp2::v2::entry_t</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>the top of the stack will contain the lower 32bits of the RVA to the virtual instructions that will be jumping too... the RVA is image based (not module based, but optional header image based)... this means the value ontop of the stack could be "40007fd8" with image base being 0x140000000... as you can see the 0x100000000 is missing... the below statement deals with this... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>vm context</td></tr>
<tr><td class="paramname">entry</td><td>current trace entry for virtual JMP instruction</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns linear virtual address of the next code block...</dd></dl>
</div>
</div>
<a id="a995be4b7dd3764aec88207611a2b879d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a995be4b7dd3764aec88207611a2b879d">&#9670;&nbsp;</a></span>decrypt_operand()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::pair&lt; std::uint64_t, std::uint64_t &gt; vm::instrs::decrypt_operand </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;&#160;</td>
<td class="paramname"><em>transforms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>operand</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>rolling_key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>decrypt virtual instruction operand given the decryption transformations... you can read about these transformations <a class="el" href="">https://back.engineering/17/05/2021/#operand-decryption</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transforms</td><td>decryption transformations...</td></tr>
<tr><td class="paramname">operand</td><td>encrypted virtual instruction operand...</td></tr>
<tr><td class="paramname">rolling_key</td><td>the decryption key (RBX)...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
<a id="a388b00855c582da503850d72de7e8f57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a388b00855c582da503850d72de7e8f57">&#9670;&nbsp;</a></span>encrypt_operand()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::pair&lt; std::uint64_t, std::uint64_t &gt; vm::instrs::encrypt_operand </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacevm_1_1transform.html#af3bd71c380a50beece9341287b7cc025">transform::map_t</a> &amp;&#160;</td>
<td class="paramname"><em>transforms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>operand</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>rolling_key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>encrypt a virtual instructions operand given the transformations to decrypt the operand... the transformations are inversed by this functions so you dont need to worry about doing that. </p>
<p>you can learn about transformations <a class="el" href="">https://back.engineering/17/05/2021/#operand-decryption</a> </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transforms</td><td>transformations to decrypt operand, these transformations are inversed by the function...</td></tr>
<tr><td class="paramname">operand</td><td>operand to be encrypted...</td></tr>
<tr><td class="paramname">rolling_key</td><td>encryption key... (RBX)...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
<a id="aa7a629de41909a287c549397a4043c2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7a629de41909a287c549397a4043c2f">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> &gt; vm::instrs::get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structvmp2_1_1v2_1_1entry__t.html">vmp2::v2::entry_t</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> filled in with data given a <a class="el" href="namespacevmp2.html">vmp2</a> trace entry and vm context... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>current vm context</td></tr>
<tr><td class="paramname">entry</td><td><a class="el" href="namespacevmp2.html">vmp2</a> trace entry containing all of the native/virtual register/stack values...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns a filled in <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">virt_instr_t</a> on success...</dd></dl>
</div>
</div>
<a id="a432536e816a10200518676e5616335a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a432536e816a10200518676e5616335a6">&#9670;&nbsp;</a></span>get_imm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; std::uint64_t &gt; vm::instrs::get_imm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint8_t&#160;</td>
<td class="paramname"><em>imm_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>vip</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the encrypted second operand (imm) given vip and <a class="el" href="classvm_1_1ctx__t.html" title="vm::ctx_t class is used to auto generate vm_entry, calc_jmp, and other per-vm entry information....">vm::ctx_t</a>... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>vm context</td></tr>
<tr><td class="paramname">imm_size</td><td>immediate value size in bits...</td></tr>
<tr><td class="paramname">vip</td><td>virtual instruction pointer, linear virtual address...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns immediate value if imm_size is not 0...</dd></dl>
</div>
</div>
<a id="a093e8f1c37d98c4454a3d0b58fda6188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a093e8f1c37d98c4454a3d0b58fda6188">&#9670;&nbsp;</a></span>get_jcc_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; <a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a> &gt; vm::instrs::get_jcc_data </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classvm_1_1ctx__t.html">vm::ctx_t</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structvm_1_1instrs_1_1code__block__t.html">code_block_t</a> &amp;&#160;</td>
<td class="paramname"><em>code_block</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get jcc data out of a code block... this function will loop over the code block and look for the last LCONSTDW in the virtual instructions. </p>
<p>it will then loop and look for all PUSHVSP's, checking each to see if the stack contains two encrypted rva's to each branch.. if there is not two encrypted rva's then the virtual jmp instruction only has one dest...</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>vm context</td></tr>
<tr><td class="paramname">code_block</td><td>code block that does not have its <a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a> yet</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>if last lconstdw is found, return filled in <a class="el" href="structvm_1_1instrs_1_1jcc__data.html">jcc_data</a> structure...</dd></dl>
</div>
</div>
<a id="abfbe5c819730d2693296df3c71393de3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfbe5c819730d2693296df3c71393de3">&#9670;&nbsp;</a></span>get_rva_decrypt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::instrs::get_rva_decrypt </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>vm_entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>transform_instrs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the native instructions that are used to decrypt the relative virtual address to virtual instructions located on the stack at RSP+0xA0... you can learn about this <a class="el" href="">https://back.engineering/17/05/2021/#vm_entry</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vm_entry</td><td>pass by reference of the specific vm entry you want to get the decryption instructions from...</td></tr>
<tr><td class="paramname">transform_instrs</td><td>pass by reference vector that will be filled with the decryption instructions...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if the decryption instructions are extracted...</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,976 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::lifters Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1lifters.html">lifters</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">vm::lifters Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad6d45fc87d11eea76019f1159069eb6d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> = std::function&lt; void(vtil::basic_block *, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *) &gt;</td></tr>
<tr class="separator:ad6d45fc87d11eea76019f1159069eb6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e3f407f89e62897a46763b3de93fa9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">lifter_t</a> = std::pair&lt; <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a>, <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> &gt;</td></tr>
<tr class="separator:ae0e3f407f89e62897a46763b3de93fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:acb5a26d705669f85de67543eb131738b"><td class="memItemLeft" align="right" valign="top">constexpr vtil::register_desc&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a> (uint8_t context_offset, uint8_t size)</td></tr>
<tr class="separator:acb5a26d705669f85de67543eb131738b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a8f85b8d616456ffaf0699e34643aa5a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a8f85b8d616456ffaf0699e34643aa5a9">lregq</a></td></tr>
<tr class="separator:a8f85b8d616456ffaf0699e34643aa5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44522dea5997a2c5d4f743bee1ea4084"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a44522dea5997a2c5d4f743bee1ea4084">lregdw</a></td></tr>
<tr class="separator:a44522dea5997a2c5d4f743bee1ea4084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0491abd30c8c9f167a5573fedc83326c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a0491abd30c8c9f167a5573fedc83326c">addq</a></td></tr>
<tr class="separator:a0491abd30c8c9f167a5573fedc83326c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7332fe92bc5b62d3a1eadc3be1650286"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a7332fe92bc5b62d3a1eadc3be1650286">adddw</a></td></tr>
<tr class="separator:a7332fe92bc5b62d3a1eadc3be1650286"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15434e7a31a2d0839b9fc423879576b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a15434e7a31a2d0839b9fc423879576b9">addw</a></td></tr>
<tr class="separator:a15434e7a31a2d0839b9fc423879576b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad71cc0003e40f40512d4f755bf128f75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad71cc0003e40f40512d4f755bf128f75">sregq</a></td></tr>
<tr class="separator:ad71cc0003e40f40512d4f755bf128f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed6bccf37fd06d306357cc231dc85d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a1ed6bccf37fd06d306357cc231dc85d8">sregdw</a></td></tr>
<tr class="separator:a1ed6bccf37fd06d306357cc231dc85d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab4b15f694be1f476b6336cc0b4cbf83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#aab4b15f694be1f476b6336cc0b4cbf83">sregw</a></td></tr>
<tr class="separator:aab4b15f694be1f476b6336cc0b4cbf83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6024fb9a51be812a67b061962b4a9073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a6024fb9a51be812a67b061962b4a9073">lconstq</a></td></tr>
<tr class="separator:a6024fb9a51be812a67b061962b4a9073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a542f3b5caa1095dd8025c9fa33a54140"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a542f3b5caa1095dd8025c9fa33a54140">lconstdw</a></td></tr>
<tr class="separator:a542f3b5caa1095dd8025c9fa33a54140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf386a124868fdac0799765abc41318c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#adf386a124868fdac0799765abc41318c">lconstw</a></td></tr>
<tr class="separator:adf386a124868fdac0799765abc41318c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b69c3029b02505fd5c3b888d9a2f53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ae1b69c3029b02505fd5c3b888d9a2f53">lconstbzxw</a></td></tr>
<tr class="separator:ae1b69c3029b02505fd5c3b888d9a2f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72d98a11da4c9e39ec2b5b2afd22e70c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a72d98a11da4c9e39ec2b5b2afd22e70c">lconstbsxdw</a></td></tr>
<tr class="separator:a72d98a11da4c9e39ec2b5b2afd22e70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2ff30b47ff5f62aae07043f6e54c07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9c2ff30b47ff5f62aae07043f6e54c07">lconstbsxq</a></td></tr>
<tr class="separator:a9c2ff30b47ff5f62aae07043f6e54c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9e2ac54515ca216d4eaa5afc84e2001"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#af9e2ac54515ca216d4eaa5afc84e2001">lconstdwsxq</a></td></tr>
<tr class="separator:af9e2ac54515ca216d4eaa5afc84e2001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17c37df162f730e307de53489b5112da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a17c37df162f730e307de53489b5112da">lconstwsxq</a></td></tr>
<tr class="separator:a17c37df162f730e307de53489b5112da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0037d3980a52839a609d1af3401e93d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a0037d3980a52839a609d1af3401e93d3">lconstwsxdw</a></td></tr>
<tr class="separator:a0037d3980a52839a609d1af3401e93d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9693c38a1eb8ff1d4849e93929e3debf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9693c38a1eb8ff1d4849e93929e3debf">nandq</a></td></tr>
<tr class="separator:a9693c38a1eb8ff1d4849e93929e3debf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf0e6ca49b7789e313686478c3590bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a9cf0e6ca49b7789e313686478c3590bb">nanddw</a></td></tr>
<tr class="separator:a9cf0e6ca49b7789e313686478c3590bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ae8152bf358b6ab2e705624de1b7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ac3ae8152bf358b6ab2e705624de1b7c3">nandw</a></td></tr>
<tr class="separator:ac3ae8152bf358b6ab2e705624de1b7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd33a06403bf5e6cc5b0f833e88508a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a4dd33a06403bf5e6cc5b0f833e88508a">readq</a></td></tr>
<tr class="separator:a4dd33a06403bf5e6cc5b0f833e88508a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e05b6d05c703d4ea79ed6dca1466708"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a1e05b6d05c703d4ea79ed6dca1466708">readdw</a></td></tr>
<tr class="separator:a1e05b6d05c703d4ea79ed6dca1466708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b37dec0f1b7182f3aefbfe6a102096b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a5b37dec0f1b7182f3aefbfe6a102096b">readw</a></td></tr>
<tr class="separator:a5b37dec0f1b7182f3aefbfe6a102096b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af33473ca92a8e1ab2e1a965b7520110d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#af33473ca92a8e1ab2e1a965b7520110d">shrq</a></td></tr>
<tr class="separator:af33473ca92a8e1ab2e1a965b7520110d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a129e17bac76f26029ea048d5f459fd8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a129e17bac76f26029ea048d5f459fd8e">shrw</a></td></tr>
<tr class="separator:a129e17bac76f26029ea048d5f459fd8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cebba7ce499bc0606117613599fa5d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a5cebba7ce499bc0606117613599fa5d8">jmp</a></td></tr>
<tr class="separator:a5cebba7ce499bc0606117613599fa5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d8d8c92bc0e93b2301aa101600f0f5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a8d8d8c92bc0e93b2301aa101600f0f5e">vmexit</a></td></tr>
<tr class="separator:a8d8d8c92bc0e93b2301aa101600f0f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedbb6765771fc1b8dcea94891bf23684"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#aedbb6765771fc1b8dcea94891bf23684">pushvsp</a></td></tr>
<tr class="separator:aedbb6765771fc1b8dcea94891bf23684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a345873c127b0bf9225051ce8453bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a34a345873c127b0bf9225051ce8453bf">lrflags</a></td></tr>
<tr class="separator:a34a345873c127b0bf9225051ce8453bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad481b2cb4df18abe8727e942bae7d00c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#ad481b2cb4df18abe8727e942bae7d00c">lvsp</a></td></tr>
<tr class="separator:ad481b2cb4df18abe8727e942bae7d00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74eecbae2fe9125108fed0a717c4d1fd"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1lifters.html#a74eecbae2fe9125108fed0a717c4d1fd">all</a></td></tr>
<tr class="separator:a74eecbae2fe9125108fed0a717c4d1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ad6d45fc87d11eea76019f1159069eb6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6d45fc87d11eea76019f1159069eb6d">&#9670;&nbsp;</a></span>lifter_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">vm::lifters::lifter_callback_t</a> = typedef std::function&lt; void( vtil::basic_block *, <a class="el" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *, <a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* ) &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae0e3f407f89e62897a46763b3de93fa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e3f407f89e62897a46763b3de93fa9">&#9670;&nbsp;</a></span>lifter_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> = typedef std::pair&lt; <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1">vm::handler::mnemonic_t</a>, <a class="el" href="namespacevm_1_1lifters.html#ad6d45fc87d11eea76019f1159069eb6d">lifter_callback_t</a> &gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="acb5a26d705669f85de67543eb131738b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb5a26d705669f85de67543eb131738b">&#9670;&nbsp;</a></span>make_virtual_register()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr vtil::register_desc vm::lifters::make_virtual_register </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>context_offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a7332fe92bc5b62d3a1eadc3be1650286"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7332fe92bc5b62d3a1eadc3be1650286">&#9670;&nbsp;</a></span>adddw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::adddw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler::ADDDW</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 32, 32 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler::ADDDW</a></div><div class="ttdeci">@ ADDDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:51</div></div>
<div class="ttc" id="astructvm_1_1instrs_1_1virt__instr__t_html"><div class="ttname"><a href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a></div><div class="ttdef"><b>Definition:</b> vmp2.hpp:150</div></div>
<div class="ttc" id="astructvmp2_1_1v3_1_1code__block__t_html"><div class="ttname"><a href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a></div><div class="ttdef"><b>Definition:</b> vmp2.hpp:217</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0491abd30c8c9f167a5573fedc83326c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0491abd30c8c9f167a5573fedc83326c">&#9670;&nbsp;</a></span>addq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::addq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler::ADDQ</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler::ADDQ</a></div><div class="ttdeci">@ ADDQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:50</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a15434e7a31a2d0839b9fc423879576b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15434e7a31a2d0839b9fc423879576b9">&#9670;&nbsp;</a></span>addw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::addw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler::ADDW</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a>* code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 16, 16 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;add( t1, t0 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler::ADDW</a></div><div class="ttdeci">@ ADDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:52</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a74eecbae2fe9125108fed0a717c4d1fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74eecbae2fe9125108fed0a717c4d1fd">&#9670;&nbsp;</a></span>all</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> * &gt; vm::lifters::all</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5cebba7ce499bc0606117613599fa5d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cebba7ce499bc0606117613599fa5d8">&#9670;&nbsp;</a></span>jmp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::jmp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler::JMP</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keywordflow">if</span> ( code_blk-&gt;jcc.has_jcc )</div>
<div class="line"> {</div>
<div class="line"> </div>
<div class="line"> blk-&gt;js( vtil::REG_FLAGS.select( 1, 11 ), code_blk-&gt;jcc.block_addr[ 0 ] - vinstr-&gt;trace_data.regs.r13,</div>
<div class="line"> code_blk-&gt;jcc.block_addr[ 1 ] - vinstr-&gt;trace_data.regs.r13 );</div>
<div class="line"> }</div>
<div class="line"> <span class="keywordflow">else</span></div>
<div class="line"> blk-&gt;jmp( vinstr-&gt;trace_data.vsp.qword[ 0 ] - vinstr-&gt;trace_data.regs.r13 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler::JMP</a></div><div class="ttdeci">@ JMP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:20</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a72d98a11da4c9e39ec2b5b2afd22e70c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72d98a11da4c9e39ec2b5b2afd22e70c">&#9670;&nbsp;</a></span>lconstbsxdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbsxdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler::LCONSTBSXDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler::LCONSTBSXDW</a></div><div class="ttdeci">@ LCONSTBSXDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:34</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9c2ff30b47ff5f62aae07043f6e54c07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c2ff30b47ff5f62aae07043f6e54c07">&#9670;&nbsp;</a></span>lconstbsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler::LCONSTBSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler::LCONSTBSXQ</a></div><div class="ttdeci">@ LCONSTBSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:33</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae1b69c3029b02505fd5c3b888d9a2f53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1b69c3029b02505fd5c3b888d9a2f53">&#9670;&nbsp;</a></span>lconstbzxw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstbzxw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler::LCONSTBZXW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 16 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler::LCONSTBZXW</a></div><div class="ttdeci">@ LCONSTBZXW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:32</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a542f3b5caa1095dd8025c9fa33a54140"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a542f3b5caa1095dd8025c9fa33a54140">&#9670;&nbsp;</a></span>lconstdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler::LCONSTDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler::LCONSTDW</a></div><div class="ttdeci">@ LCONSTDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:38</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af9e2ac54515ca216d4eaa5afc84e2001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9e2ac54515ca216d4eaa5afc84e2001">&#9670;&nbsp;</a></span>lconstdwsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstdwsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler::LCONSTDWSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler::LCONSTDWSXQ</a></div><div class="ttdeci">@ LCONSTDWSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:35</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a6024fb9a51be812a67b061962b4a9073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6024fb9a51be812a67b061962b4a9073">&#9670;&nbsp;</a></span>lconstq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler::LCONSTQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler::LCONSTQ</a></div><div class="ttdeci">@ LCONSTQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:31</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adf386a124868fdac0799765abc41318c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf386a124868fdac0799765abc41318c">&#9670;&nbsp;</a></span>lconstw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler::LCONSTW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 16 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler::LCONSTW</a></div><div class="ttdeci">@ LCONSTW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:39</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0037d3980a52839a609d1af3401e93d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0037d3980a52839a609d1af3401e93d3">&#9670;&nbsp;</a></span>lconstwsxdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstwsxdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler::LCONSTWSXDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 32 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler::LCONSTWSXDW</a></div><div class="ttdeci">@ LCONSTWSXDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:37</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a17c37df162f730e307de53489b5112da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17c37df162f730e307de53489b5112da">&#9670;&nbsp;</a></span>lconstwsxq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lconstwsxq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler::LCONSTWSXQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( vtil::operand( vinstr-&gt;operand.imm.u, 64 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler::LCONSTWSXQ</a></div><div class="ttdeci">@ LCONSTWSXQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:36</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a44522dea5997a2c5d4f743bee1ea4084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44522dea5997a2c5d4f743bee1ea4084">&#9670;&nbsp;</a></span>lregdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lregdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler::LREGDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 4 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler::LREGDW</a></div><div class="ttdeci">@ LREGDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:29</div></div>
<div class="ttc" id="anamespacevm_1_1lifters_html_acb5a26d705669f85de67543eb131738b"><div class="ttname"><a href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">vm::lifters::make_virtual_register</a></div><div class="ttdeci">constexpr vtil::register_desc make_virtual_register(uint8_t context_offset, uint8_t size)</div><div class="ttdef"><b>Definition:</b> vmlifters.hpp:12</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8f85b8d616456ffaf0699e34643aa5a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f85b8d616456ffaf0699e34643aa5a9">&#9670;&nbsp;</a></span>lregq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lregq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler::LREGQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;push( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 8 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler::LREGQ</a></div><div class="ttdeci">@ LREGQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a34a345873c127b0bf9225051ce8453bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a345873c127b0bf9225051ce8453bf">&#9670;&nbsp;</a></span>lrflags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lrflags</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler::LRFLAGS</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;push( vtil::REG_FLAGS ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler::LRFLAGS</a></div><div class="ttdeci">@ LRFLAGS</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:15</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad481b2cb4df18abe8727e942bae7d00c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad481b2cb4df18abe8727e942bae7d00c">&#9670;&nbsp;</a></span>lvsp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::lvsp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler::LVSP</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;pop( vtil::REG_SP ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler::LVSP</a></div><div class="ttdeci">@ LVSP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:22</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9cf0e6ca49b7789e313686478c3590bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cf0e6ca49b7789e313686478c3590bb">&#9670;&nbsp;</a></span>nanddw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nanddw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler::NANDDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 32, 32 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler::NANDDW</a></div><div class="ttdeci">@ NANDDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:61</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9693c38a1eb8ff1d4849e93929e3debf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9693c38a1eb8ff1d4849e93929e3debf">&#9670;&nbsp;</a></span>nandq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nandq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler::NANDQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler::NANDQ</a></div><div class="ttdeci">@ NANDQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:60</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac3ae8152bf358b6ab2e705624de1b7c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3ae8152bf358b6ab2e705624de1b7c3">&#9670;&nbsp;</a></span>nandw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::nandw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler::NANDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t1, t2 ] = blk-&gt;tmp( 16, 16 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;pop( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;bnot( t1 );</div>
<div class="line"> blk-&gt;bnot( t2 );</div>
<div class="line"> </div>
<div class="line"> blk-&gt;band( t1, t2 );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler::NANDW</a></div><div class="ttdeci">@ NANDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:62</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aedbb6765771fc1b8dcea94891bf23684"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedbb6765771fc1b8dcea94891bf23684">&#9670;&nbsp;</a></span>pushvsp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::pushvsp</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler::PUSHVSP</a>, []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr,</div>
<div class="line"> <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) { blk-&gt;push( vtil::REG_SP ); } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler::PUSHVSP</a></div><div class="ttdeci">@ PUSHVSP</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:16</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1e05b6d05c703d4ea79ed6dca1466708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e05b6d05c703d4ea79ed6dca1466708">&#9670;&nbsp;</a></span>readdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler::READDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 32 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler::READDW</a></div><div class="ttdeci">@ READDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:42</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4dd33a06403bf5e6cc5b0f833e88508a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd33a06403bf5e6cc5b0f833e88508a">&#9670;&nbsp;</a></span>readq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler::READQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 64 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler::READQ</a></div><div class="ttdeci">@ READQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:41</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5b37dec0f1b7182f3aefbfe6a102096b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b37dec0f1b7182f3aefbfe6a102096b">&#9670;&nbsp;</a></span>readw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::readw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler::READW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 16 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;ldd( t1, t0, vtil::make_imm( 0ull ) );</div>
<div class="line"> blk-&gt;push( t1 );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler::READW</a></div><div class="ttdeci">@ READW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:43</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af33473ca92a8e1ab2e1a965b7520110d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af33473ca92a8e1ab2e1a965b7520110d">&#9670;&nbsp;</a></span>shrq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::shrq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler::SHRQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 64, 8 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;bshr( t0, t1 );</div>
<div class="line"> blk-&gt;push( t0 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler::SHRQ</a></div><div class="ttdeci">@ SHRQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:57</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a129e17bac76f26029ea048d5f459fd8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a129e17bac76f26029ea048d5f459fd8e">&#9670;&nbsp;</a></span>shrw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::shrw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler::SHRW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> <span class="keyword">auto</span> [ t0, t1 ] = blk-&gt;tmp( 16, 8 );</div>
<div class="line"> blk-&gt;pop( t0 );</div>
<div class="line"> blk-&gt;pop( t1 );</div>
<div class="line"> blk-&gt;bshr( t0, t1 );</div>
<div class="line"> blk-&gt;push( t0 );</div>
<div class="line"> blk-&gt;pushf();</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler::SHRW</a></div><div class="ttdeci">@ SHRW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:58</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1ed6bccf37fd06d306357cc231dc85d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed6bccf37fd06d306357cc231dc85d8">&#9670;&nbsp;</a></span>sregdw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregdw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler::SREGDW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 4 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler::SREGDW</a></div><div class="ttdeci">@ SREGDW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:25</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad71cc0003e40f40512d4f755bf128f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad71cc0003e40f40512d4f755bf128f75">&#9670;&nbsp;</a></span>sregq</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregq</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler::SREGQ</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 8 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler::SREGQ</a></div><div class="ttdeci">@ SREGQ</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:24</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aab4b15f694be1f476b6336cc0b4cbf83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab4b15f694be1f476b6336cc0b4cbf83">&#9670;&nbsp;</a></span>sregw</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::sregw</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler::SREGW</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;pop( <a class="code" href="namespacevm_1_1lifters.html#acb5a26d705669f85de67543eb131738b">make_virtual_register</a>( vinstr-&gt;operand.imm.u, 2 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler::SREGW</a></div><div class="ttdeci">@ SREGW</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:26</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d8d8c92bc0e93b2301aa101600f0f5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d8d8c92bc0e93b2301aa101600f0f5e">&#9670;&nbsp;</a></span>vmexit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevm_1_1lifters.html#ae0e3f407f89e62897a46763b3de93fa9">vm::lifters::lifter_t</a> vm::lifters::vmexit</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> </div>
<div class="line"> <a class="code" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler::VMEXIT</a>,</div>
<div class="line"> []( vtil::basic_block *blk, <a class="code" href="structvm_1_1instrs_1_1virt__instr__t.html">vm::instrs::virt_instr_t</a> *vinstr, <a class="code" href="structvmp2_1_1v3_1_1code__block__t.html">vmp2::v3::code_block_t</a> *code_blk ) {</div>
<div class="line"> blk-&gt;vexit( vtil::make_imm( vinstr-&gt;trace_data.vsp.qword[ 0x13 ] - vinstr-&gt;trace_data.regs.r13 ) );</div>
<div class="line"> } }</div>
<div class="ttc" id="anamespacevm_1_1handler_html_a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e"><div class="ttname"><a href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler::VMEXIT</a></div><div class="ttdeci">@ VMEXIT</div><div class="ttdef"><b>Definition:</b> vmprofiles.hpp:21</div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,336 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::util Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1util.html">util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::util Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>utils used by the other cpp files... misc things that get used a lot...
<a href="namespacevm_1_1util.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevm_1_1util_1_1reg"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util_1_1reg.html">reg</a></td></tr>
<tr class="memdesc:namespacevm_1_1util_1_1reg"><td class="mdescLeft">&#160;</td><td class="mdescRight">utils pertaining to native registers... <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6ef2ebfb858878e2e06d3c96ef5b275b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#a6ef2ebfb858878e2e06d3c96ef5b275b">get_fetch_operand</a> (const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;routine, <a class="el" href="structzydis__instr__t.html">zydis_instr_t</a> &amp;fetch_instr)</td></tr>
<tr class="memdesc:a6ef2ebfb858878e2e06d3c96ef5b275b"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the instruction that fetches an operand out of VIP... <a href="namespacevm_1_1util.html#a6ef2ebfb858878e2e06d3c96ef5b275b">More...</a><br /></td></tr>
<tr class="separator:a6ef2ebfb858878e2e06d3c96ef5b275b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2d46e089059f00dc56790216c5cc234"><td class="memItemLeft" align="right" valign="top">std::optional&lt; zydis_routine_t::iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#ae2d46e089059f00dc56790216c5cc234">get_fetch_operand</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;routine)</td></tr>
<tr class="memdesc:ae2d46e089059f00dc56790216c5cc234"><td class="mdescLeft">&#160;</td><td class="mdescRight">gets the instruction that fetches an operand out of VIP and returns an iterator to it... <a href="namespacevm_1_1util.html#ae2d46e089059f00dc56790216c5cc234">More...</a><br /></td></tr>
<tr class="separator:ae2d46e089059f00dc56790216c5cc234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcfe75a7d22f907a6187579373679204"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">print</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;routine)</td></tr>
<tr class="memdesc:abcfe75a7d22f907a6187579373679204"><td class="mdescLeft">&#160;</td><td class="mdescRight">prints a disassembly view of a routine... <a href="namespacevm_1_1util.html#abcfe75a7d22f907a6187579373679204">More...</a><br /></td></tr>
<tr class="separator:abcfe75a7d22f907a6187579373679204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e29bef639bd3c9f94669b0acdc8f2b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#a9e29bef639bd3c9f94669b0acdc8f2b0">print</a> (const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;instr)</td></tr>
<tr class="memdesc:a9e29bef639bd3c9f94669b0acdc8f2b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">prints a single disassembly view of an instruction... <a href="namespacevm_1_1util.html#a9e29bef639bd3c9f94669b0acdc8f2b0">More...</a><br /></td></tr>
<tr class="separator:a9e29bef639bd3c9f94669b0acdc8f2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bb957b17b2bd94bb66c94b2407799c8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#a3bb957b17b2bd94bb66c94b2407799c8">is_jmp</a> (const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;instr)</td></tr>
<tr class="memdesc:a3bb957b17b2bd94bb66c94b2407799c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">determines if a given decoded native instruction is a JCC... <a href="namespacevm_1_1util.html#a3bb957b17b2bd94bb66c94b2407799c8">More...</a><br /></td></tr>
<tr class="separator:a3bb957b17b2bd94bb66c94b2407799c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a98ad0643716aef1ef80b3cd58d0e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#a86a98ad0643716aef1ef80b3cd58d0e9">flatten</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;routine, std::uintptr_t routine_addr, bool keep_jmps=false)</td></tr>
<tr class="memdesc:a86a98ad0643716aef1ef80b3cd58d0e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">flatten native instruction stream, takes every JCC (follows the branch)... <a href="namespacevm_1_1util.html#a86a98ad0643716aef1ef80b3cd58d0e9">More...</a><br /></td></tr>
<tr class="separator:a86a98ad0643716aef1ef80b3cd58d0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb0bd6aeba990fd37a612d6d318cebb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util.html#afb0bd6aeba990fd37a612d6d318cebb5">deobfuscate</a> (<a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;routine)</td></tr>
<tr class="memdesc:afb0bd6aeba990fd37a612d6d318cebb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">deadstore deobfuscation of a flattened routine... <a href="namespacevm_1_1util.html#afb0bd6aeba990fd37a612d6d318cebb5">More...</a><br /></td></tr>
<tr class="separator:afb0bd6aeba990fd37a612d6d318cebb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>utils used by the other cpp files... misc things that get used a lot... </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="afb0bd6aeba990fd37a612d6d318cebb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb0bd6aeba990fd37a612d6d318cebb5">&#9670;&nbsp;</a></span>deobfuscate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void vm::util::deobfuscate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>routine</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>deadstore deobfuscation of a flattened routine... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">routine</td><td>reference to a flattened instruction vector...</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a86a98ad0643716aef1ef80b3cd58d0e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86a98ad0643716aef1ef80b3cd58d0e9">&#9670;&nbsp;</a></span>flatten()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::util::flatten </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>routine</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uintptr_t&#160;</td>
<td class="paramname"><em>routine_addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>keep_jmps</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>flatten native instruction stream, takes every JCC (follows the branch)... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">routine</td><td>filled with decoded instructions...</td></tr>
<tr><td class="paramname">routine_addr</td><td>linear virtual address to start flattening from...</td></tr>
<tr><td class="paramname">keep_jmps</td><td>keep JCC's in the flattened instruction stream...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if flattened was successful...</dd></dl>
</div>
</div>
<a id="a6ef2ebfb858878e2e06d3c96ef5b275b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ef2ebfb858878e2e06d3c96ef5b275b">&#9670;&nbsp;</a></span>get_fetch_operand() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::util::get_fetch_operand </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>routine</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structzydis__instr__t.html">zydis_instr_t</a> &amp;&#160;</td>
<td class="paramname"><em>fetch_instr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get the instruction that fetches an operand out of VIP... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">routine</td><td>this is a deobfuscated, flattened, view of any set of native instructions that read an operand out of VIP... can be <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, vm_entry, or vm handlers...</td></tr>
<tr><td class="paramname">fetch_instr</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true of the fetch operand native instruction is found...</dd></dl>
</div>
</div>
<a id="ae2d46e089059f00dc56790216c5cc234"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2d46e089059f00dc56790216c5cc234">&#9670;&nbsp;</a></span>get_fetch_operand() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::optional&lt; zydis_routine_t::iterator &gt; vm::util::get_fetch_operand </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>routine</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>gets the instruction that fetches an operand out of VIP and returns an iterator to it... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">routine</td><td>this is a deobfuscated, flattened, view of any set of native instructions that read an operand out of VIP... can be <a class="el" href="namespacevm_1_1calc__jmp.html">calc_jmp</a>, vm_entry, or vm handlers...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the iterator of the native instruction, else an empty std::optional...</dd></dl>
</div>
</div>
<a id="a3bb957b17b2bd94bb66c94b2407799c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bb957b17b2bd94bb66c94b2407799c8">&#9670;&nbsp;</a></span>is_jmp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::util::is_jmp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;&#160;</td>
<td class="paramname"><em>instr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>determines if a given decoded native instruction is a JCC... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">instr</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
<a id="a9e29bef639bd3c9f94669b0acdc8f2b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e29bef639bd3c9f94669b0acdc8f2b0">&#9670;&nbsp;</a></span>print() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void vm::util::print </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188">zydis_decoded_instr_t</a> &amp;&#160;</td>
<td class="paramname"><em>instr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>prints a single disassembly view of an instruction... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">instr</td><td>instruction to print...</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abcfe75a7d22f907a6187579373679204"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcfe75a7d22f907a6187579373679204">&#9670;&nbsp;</a></span>print() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void vm::util::print </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c">zydis_routine_t</a> &amp;&#160;</td>
<td class="paramname"><em>routine</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>prints a disassembly view of a routine... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">routine</td><td>reference to a zydis_routine_t to be printed...</td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,164 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vm::util::reg Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevm.html">vm</a></li><li class="navelem"><a class="el" href="namespacevm_1_1util.html">util</a></li><li class="navelem"><a class="el" href="namespacevm_1_1util_1_1reg.html">reg</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vm::util::reg Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>utils pertaining to native registers...
<a href="namespacevm_1_1util_1_1reg.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a00b8eb62aa844682cceca117eca5b945"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util_1_1reg.html#a00b8eb62aa844682cceca117eca5b945">to64</a> (<a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a> reg)</td></tr>
<tr class="memdesc:a00b8eb62aa844682cceca117eca5b945"><td class="mdescLeft">&#160;</td><td class="mdescRight">converts say... AL to RAX... <a href="namespacevm_1_1util_1_1reg.html#a00b8eb62aa844682cceca117eca5b945">More...</a><br /></td></tr>
<tr class="separator:a00b8eb62aa844682cceca117eca5b945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6e516ed1170cd627f330ca68c1bfd4b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1util_1_1reg.html#aa6e516ed1170cd627f330ca68c1bfd4b">compare</a> (<a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a> a, <a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a> b)</td></tr>
<tr class="memdesc:aa6e516ed1170cd627f330ca68c1bfd4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">compares to registers with each other... calls to64 and compares... <a href="namespacevm_1_1util_1_1reg.html#aa6e516ed1170cd627f330ca68c1bfd4b">More...</a><br /></td></tr>
<tr class="separator:aa6e516ed1170cd627f330ca68c1bfd4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>utils pertaining to native registers... </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="aa6e516ed1170cd627f330ca68c1bfd4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6e516ed1170cd627f330ca68c1bfd4b">&#9670;&nbsp;</a></span>compare()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vm::util::reg::compare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>compares to registers with each other... calls to64 and compares... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>register a...</td></tr>
<tr><td class="paramname">b</td><td>register b...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns true if register to64(a) == to64(b)...</dd></dl>
</div>
</div>
<a id="a00b8eb62aa844682cceca117eca5b945"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00b8eb62aa844682cceca117eca5b945">&#9670;&nbsp;</a></span>to64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a> vm::util::reg::to64 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782">zydis_register_t</a>&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>converts say... AL to RAX... </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>a zydis decoded register value...</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the largest width register of the given register... AL gives RAX...</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,158 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vmp2 Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">vmp2 Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacevmp2_1_1v1"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevmp2_1_1v1.html">v1</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevmp2_1_1v2"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevmp2_1_1v2.html">v2</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacevmp2_1_1v3"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevmp2_1_1v3.html">v3</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ab2b6fa03f63a776a5c68007f89b140b5"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">exec_type_t</a> { <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5a965dbaac085fc891bfbbd4f9d145bbc8">forward</a>
, <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5a195fe59b6f103787a914aead0f3db502">backward</a>
}</td></tr>
<tr class="separator:ab2b6fa03f63a776a5c68007f89b140b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a144e081c8a268c0bfc9f738f32f19579"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579">version_t</a> { <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579afedb2d84cafe20862cb4399751a8a7e3">invalid</a>
, <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a6654c734ccab8f440ff0825eb443dc7f">v1</a> = 0x101
, <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a1b267619c4812cc46ee281747884ca50">v2</a> = 0x102
, <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a43a03299a3c3fed3d8ce7b820f3aca81">v3</a> = 0x103
}</td></tr>
<tr class="separator:a144e081c8a268c0bfc9f738f32f19579"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ab2b6fa03f63a776a5c68007f89b140b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2b6fa03f63a776a5c68007f89b140b5">&#9670;&nbsp;</a></span>exec_type_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5">vmp2::exec_type_t</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab2b6fa03f63a776a5c68007f89b140b5a965dbaac085fc891bfbbd4f9d145bbc8"></a>forward&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ab2b6fa03f63a776a5c68007f89b140b5a195fe59b6f103787a914aead0f3db502"></a>backward&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a144e081c8a268c0bfc9f738f32f19579"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a144e081c8a268c0bfc9f738f32f19579">&#9670;&nbsp;</a></span>version_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579">vmp2::version_t</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a144e081c8a268c0bfc9f738f32f19579afedb2d84cafe20862cb4399751a8a7e3"></a>invalid&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a144e081c8a268c0bfc9f738f32f19579a6654c734ccab8f440ff0825eb443dc7f"></a>v1&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a144e081c8a268c0bfc9f738f32f19579a1b267619c4812cc46ee281747884ca50"></a>v2&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a144e081c8a268c0bfc9f738f32f19579a43a03299a3c3fed3d8ce7b820f3aca81"></a>v3&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vmp2::v1 Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevmp2.html">vmp2</a></li><li class="navelem"><a class="el" href="namespacevmp2_1_1v1.html">v1</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">vmp2::v1 Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v1_1_1file__header.html">file_header</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v1_1_1entry__t.html">entry_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vmp2::v2 Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevmp2.html">vmp2</a></li><li class="navelem"><a class="el" href="namespacevmp2_1_1v2.html">v2</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">vmp2::v2 Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v2_1_1file__header.html">file_header</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v2_1_1entry__t.html">entry_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: vmp2::v3 Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacevmp2.html">vmp2</a></li><li class="navelem"><a class="el" href="namespacevmp2_1_1v3.html">v3</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">vmp2::v3 Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v3_1_1file__header.html">file_header</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvmp2_1_1v3_1_1code__block__t.html">code_block_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

@ -0,0 +1,82 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VMProfiler: Related Pages</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VMProfiler
&#160;<span id="projectnumber">v1.8</span>
</div>
<div id="projectbrief">vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Related Pages</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__r_e_a_d_m_e.html" target="_self">README</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,22 @@
var searchData=
[
['_5f_5frol1_5f_5f_0',['__ROL1__',['../namespacevm_1_1transform.html#a2f914dc341284423d3cf0bc83fbbc6d4',1,'vm::transform']]],
['_5f_5frol2_5f_5f_1',['__ROL2__',['../namespacevm_1_1transform.html#af597f7ca1a317d800345ba0ce3139145',1,'vm::transform']]],
['_5f_5frol4_5f_5f_2',['__ROL4__',['../namespacevm_1_1transform.html#a5845d259b97aa94ad627cb323f79bc43',1,'vm::transform']]],
['_5f_5frol8_5f_5f_3',['__ROL8__',['../namespacevm_1_1transform.html#adeb404f2e3208d35eae516af9d979814',1,'vm::transform']]],
['_5f_5frol_5f_5f_4',['__ROL__',['../namespacevm_1_1transform.html#a95343da0cff7223109113b65ff4211b6',1,'vm::transform']]],
['_5f_5fror1_5f_5f_5',['__ROR1__',['../namespacevm_1_1transform.html#a22a3bc4437a3fe171d16c08e26bd8098',1,'vm::transform']]],
['_5f_5fror2_5f_5f_6',['__ROR2__',['../namespacevm_1_1transform.html#ae461230c2fd31540a32f7b7d439c00cc',1,'vm::transform']]],
['_5f_5fror4_5f_5f_7',['__ROR4__',['../namespacevm_1_1transform.html#a84ceeae51a16def42530b6ce2bd52d23',1,'vm::transform']]],
['_5f_5fror8_5f_5f_8',['__ROR8__',['../namespacevm_1_1transform.html#a8a109ae3f6a76f60fafedabde509594f',1,'vm::transform']]],
['_5fadd_9',['_add',['../namespacevm_1_1transform.html#a281896b8949d10bf13fe43c6467766ef',1,'vm::transform']]],
['_5fbswap_10',['_bswap',['../namespacevm_1_1transform.html#a688d8184e8ff721cbe284891a79649be',1,'vm::transform']]],
['_5fdec_11',['_dec',['../namespacevm_1_1transform.html#a15aa399b06335fdc06b738f5053eec27',1,'vm::transform']]],
['_5finc_12',['_inc',['../namespacevm_1_1transform.html#a127fda1c7440c539496a2265a089ed25',1,'vm::transform']]],
['_5fneg_13',['_neg',['../namespacevm_1_1transform.html#a734672243d8d96890e13da03edb148ba',1,'vm::transform']]],
['_5fnot_14',['_not',['../namespacevm_1_1transform.html#aef95e6402789d702d4a0dceb09c58fdf',1,'vm::transform']]],
['_5frol_15',['_rol',['../namespacevm_1_1transform.html#a95949473ea57a6a4b310b3701ddbc646',1,'vm::transform']]],
['_5fror_16',['_ror',['../namespacevm_1_1transform.html#ab2a83f6cb174fe5a090d38f4b426865a',1,'vm::transform']]],
['_5fsub_17',['_sub',['../namespacevm_1_1transform.html#a91ad3d31de52b5178cbf433259b887d9',1,'vm::transform']]],
['_5fxor_18',['_xor',['../namespacevm_1_1transform.html#a4ee7a00ae0c62ad5db5455d16ac64491',1,'vm::transform']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,16 @@
var searchData=
[
['absolute_19',['absolute',['../namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57adc4d53aa0d117d8b189b36d161af4e96',1,'vm::instrs']]],
['add_2ecpp_20',['add.cpp',['../vmlifters_2add_8cpp.html',1,'(Global Namespace)'],['../vmprofiles_2add_8cpp.html',1,'(Global Namespace)']]],
['adddw_21',['ADDDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f',1,'vm::handler']]],
['adddw_22',['adddw',['../namespacevm_1_1lifters.html#a7332fe92bc5b62d3a1eadc3be1650286',1,'vm::lifters::adddw()'],['../namespacevm_1_1handler_1_1profile.html#a5bf6399e884a3e41d3cb953f00d62c13',1,'vm::handler::profile::adddw()']]],
['addq_23',['ADDQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b',1,'vm::handler']]],
['addq_24',['addq',['../namespacevm_1_1lifters.html#a0491abd30c8c9f167a5573fedc83326c',1,'vm::lifters::addq()'],['../namespacevm_1_1handler_1_1profile.html#a6fec819ec586b0f38fd4dc9489a2faf8',1,'vm::handler::profile::addq()']]],
['addr_25',['addr',['../structzydis__instr__t.html#ac180f5e918619afc94f594c91f0ec389',1,'zydis_instr_t']]],
['address_26',['address',['../structvm_1_1handler_1_1handler__t.html#afa8853308fc1039e4a2940594c3e443e',1,'vm::handler::handler_t']]],
['addw_27',['addw',['../namespacevm_1_1lifters.html#a15434e7a31a2d0839b9fc423879576b9',1,'vm::lifters::addw()'],['../namespacevm_1_1handler_1_1profile.html#ac6638f78fcb7d781db4476b11bd3c139',1,'vm::handler::profile::addw()']]],
['addw_28',['ADDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6',1,'vm::handler']]],
['advancement_29',['advancement',['../structvmp2_1_1v1_1_1file__header.html#a1a95d42495b9ed9d96538a50c4d17347',1,'vmp2::v1::file_header::advancement()'],['../structvmp2_1_1v2_1_1file__header.html#a8c4bd608935f89aeeacf8a24c46e12a7',1,'vmp2::v2::file_header::advancement()']]],
['all_30',['all',['../namespacevm_1_1lifters.html#a74eecbae2fe9125108fed0a717c4d1fd',1,'vm::lifters::all()'],['../namespacevm_1_1handler_1_1profile.html#a39376b2fb191d8ff1af7ef0128f715ed',1,'vm::handler::profile::all()']]],
['apply_31',['apply',['../namespacevm_1_1transform.html#a4f111b0cc38dd9e03f6f5eed3fa824f7',1,'vm::transform']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_10.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,4 @@
var searchData=
[
['qword_165',['qword',['../structvmp2_1_1v1_1_1entry__t.html#a2bcd067629686dbe25c5f029fd6a90b2',1,'vmp2::v1::entry_t::qword()'],['../structvmp2_1_1v2_1_1entry__t.html#adf0282edfe2729f777de01181573817a',1,'vmp2::v2::entry_t::qword()']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_11.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,30 @@
var searchData=
[
['r10_166',['r10',['../structvmp2_1_1v1_1_1entry__t.html#a8d1765833c99a7f2d08717851eebab82',1,'vmp2::v1::entry_t::r10()'],['../structvmp2_1_1v2_1_1entry__t.html#a48c7745b16af9fa47fddaea8478618b1',1,'vmp2::v2::entry_t::r10()']]],
['r11_167',['r11',['../structvmp2_1_1v2_1_1entry__t.html#aa1a5db4120d667a1c87b8e5cebffd6bc',1,'vmp2::v2::entry_t::r11()'],['../structvmp2_1_1v1_1_1entry__t.html#a2b6490513a27218e981395caf46c6a36',1,'vmp2::v1::entry_t::r11()']]],
['r12_168',['r12',['../structvmp2_1_1v1_1_1entry__t.html#ac070dd8a3b266aca6d384092d44c45db',1,'vmp2::v1::entry_t::r12()'],['../structvmp2_1_1v2_1_1entry__t.html#ad54f902a6c9356b34fa32bb57afecde4',1,'vmp2::v2::entry_t::r12()']]],
['r13_169',['r13',['../structvmp2_1_1v1_1_1entry__t.html#ac892c7b25abf33b68cd23218088c19a2',1,'vmp2::v1::entry_t::r13()'],['../structvmp2_1_1v2_1_1entry__t.html#ad63c471813aaffa87b51f44f4e778e27',1,'vmp2::v2::entry_t::r13()']]],
['r14_170',['r14',['../structvmp2_1_1v2_1_1entry__t.html#a5eca8495531c6b7c230397121c448aa5',1,'vmp2::v2::entry_t::r14()'],['../structvmp2_1_1v1_1_1entry__t.html#a73f9533987a51cd2ed85dac181cb8e36',1,'vmp2::v1::entry_t::r14()']]],
['r15_171',['r15',['../structvmp2_1_1v1_1_1entry__t.html#abb759c2488fa9a384ab5b424e84a225b',1,'vmp2::v1::entry_t::r15()'],['../structvmp2_1_1v2_1_1entry__t.html#ad7e5388fa85783e2f628562073945a3e',1,'vmp2::v2::entry_t::r15()']]],
['r8_172',['r8',['../structvmp2_1_1v1_1_1entry__t.html#a439476f676acc77b1f75abd0ce6f1dc9',1,'vmp2::v1::entry_t::r8()'],['../structvmp2_1_1v2_1_1entry__t.html#a75ab4ecd1d412e886e785202ad208a80',1,'vmp2::v2::entry_t::r8()']]],
['r9_173',['r9',['../structvmp2_1_1v1_1_1entry__t.html#a82183b6e1580ebc77cf8e60e8d197688',1,'vmp2::v1::entry_t::r9()'],['../structvmp2_1_1v2_1_1entry__t.html#a1c22268aa724bdbe1b2c7e08ca6f91bf',1,'vmp2::v2::entry_t::r9()']]],
['raw_174',['raw',['../structvmp2_1_1v2_1_1entry__t.html#a30d79c65c6656f2da0b7ef0305861d18',1,'vmp2::v2::entry_t::raw()'],['../structvmp2_1_1v2_1_1entry__t.html#ad10b50bd2342eacc4cf3c2df45f4923d',1,'vmp2::v2::entry_t::raw()'],['../structzydis__instr__t.html#a63731d9c4bc131dd63253a671f494926',1,'zydis_instr_t::raw()'],['../structvmp2_1_1v1_1_1entry__t.html#a33eb058b38f364b0dc70bc51ccce665f',1,'vmp2::v1::entry_t::raw()'],['../structvmp2_1_1v1_1_1entry__t.html#a3cb51b6b59b26726d126ab223f4bea89',1,'vmp2::v1::entry_t::raw()']]],
['rax_175',['rax',['../structvmp2_1_1v2_1_1entry__t.html#a5bcddf6039712e77b1e929c5e23d7102',1,'vmp2::v2::entry_t::rax()'],['../structvmp2_1_1v1_1_1entry__t.html#aece27444f4d7739a65e105c99bb80405',1,'vmp2::v1::entry_t::rax()']]],
['rbp_176',['rbp',['../structvmp2_1_1v1_1_1entry__t.html#a897b61a9d552321649e2125f0309087f',1,'vmp2::v1::entry_t::rbp()'],['../structvmp2_1_1v2_1_1entry__t.html#adaa7ac7e16b4c5334f710276e5424bb2',1,'vmp2::v2::entry_t::rbp()']]],
['rbx_177',['rbx',['../structvmp2_1_1v1_1_1entry__t.html#ad1209ca45ba032f5b153243755ca4715',1,'vmp2::v1::entry_t::rbx()'],['../structvmp2_1_1v2_1_1entry__t.html#adb2f787630408583f8d788b1e0ffbc26',1,'vmp2::v2::entry_t::rbx()']]],
['rcx_178',['rcx',['../structvmp2_1_1v1_1_1entry__t.html#ad5a8918cb544c45077f2d8226d23e6e8',1,'vmp2::v1::entry_t::rcx()'],['../structvmp2_1_1v2_1_1entry__t.html#af0fe75c5c42bd2d3639661db73195c21',1,'vmp2::v2::entry_t::rcx()']]],
['rdi_179',['rdi',['../structvmp2_1_1v1_1_1entry__t.html#a1629840800a9af9adb8fdd63b596bc4c',1,'vmp2::v1::entry_t::rdi()'],['../structvmp2_1_1v2_1_1entry__t.html#ab22621550901e08d7d541faa940332a9',1,'vmp2::v2::entry_t::rdi()']]],
['rdx_180',['rdx',['../structvmp2_1_1v1_1_1entry__t.html#a4e80774ff8364a9237dd99702a8b7d9b',1,'vmp2::v1::entry_t::rdx()'],['../structvmp2_1_1v2_1_1entry__t.html#a6216b34ae98199196363d268ebd917c5',1,'vmp2::v2::entry_t::rdx()']]],
['read_2ecpp_181',['read.cpp',['../vmlifters_2read_8cpp.html',1,'(Global Namespace)'],['../vmprofiles_2read_8cpp.html',1,'(Global Namespace)']]],
['readdw_182',['READDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b',1,'vm::handler']]],
['readdw_183',['readdw',['../namespacevm_1_1lifters.html#a1e05b6d05c703d4ea79ed6dca1466708',1,'vm::lifters::readdw()'],['../namespacevm_1_1handler_1_1profile.html#a7dcb388eb57317a1fb30a882c1f659de',1,'vm::handler::profile::readdw()']]],
['readme_2emd_184',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]],
['readq_185',['readq',['../namespacevm_1_1lifters.html#a4dd33a06403bf5e6cc5b0f833e88508a',1,'vm::lifters::readq()'],['../namespacevm_1_1handler_1_1profile.html#a6969c269658e6069415fc19924a8eff1',1,'vm::handler::profile::readq()']]],
['readq_186',['READQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b',1,'vm::handler']]],
['readw_187',['READW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47',1,'vm::handler']]],
['readw_188',['readw',['../namespacevm_1_1lifters.html#a5b37dec0f1b7182f3aefbfe6a102096b',1,'vm::lifters']]],
['regs_189',['regs',['../structvmp2_1_1v1_1_1entry__t.html#ac0c039b3a555ca4b2716caf8c9d65dd7',1,'vmp2::v1::entry_t::regs()'],['../structvmp2_1_1v2_1_1entry__t.html#a5f0c8c53f295f3c500e6e1700260567d',1,'vmp2::v2::entry_t::regs()']]],
['rflags_190',['rflags',['../structvmp2_1_1v2_1_1entry__t.html#a7231c47303e74cba3f4be781b23365fe',1,'vmp2::v2::entry_t::rflags()'],['../structvmp2_1_1v1_1_1entry__t.html#ac01afa0dffbd2377d722232a8db98bff',1,'vmp2::v1::entry_t::rflags()']]],
['rolling_5fkey_191',['rolling_key',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384a2b4d8b33b65a6ec012bfee034f0eb535',1,'vm::transform']]],
['rsi_192',['rsi',['../structvmp2_1_1v1_1_1entry__t.html#ab4699f11425e593d9745c3ce533481f4',1,'vmp2::v1::entry_t::rsi()'],['../structvmp2_1_1v2_1_1entry__t.html#a2449e4175d235152aa3d47cc0cd3fa54',1,'vmp2::v2::entry_t::rsi()']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_12.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,23 @@
var searchData=
[
['s_193',['s',['../structvm_1_1instrs_1_1virt__instr__t.html#a3feeff8ff61091838dd488625d7b25a2',1,'vm::instrs::virt_instr_t']]],
['shl_2ecpp_194',['shl.cpp',['../shl_8cpp.html',1,'']]],
['shldw_195',['shldw',['../namespacevm_1_1handler_1_1profile.html#a94b3e7b23ca523249a1b4149f2b221a9',1,'vm::handler::profile']]],
['shldw_196',['SHLDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81',1,'vm::handler']]],
['shlq_197',['shlq',['../namespacevm_1_1handler_1_1profile.html#a8be3b9aa44bba9c01a0544356f4a35ad',1,'vm::handler::profile']]],
['shlq_198',['SHLQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3',1,'vm::handler']]],
['shr_2ecpp_199',['shr.cpp',['../vmlifters_2shr_8cpp.html',1,'(Global Namespace)'],['../vmprofiles_2shr_8cpp.html',1,'(Global Namespace)']]],
['shrq_200',['shrq',['../namespacevm_1_1lifters.html#af33473ca92a8e1ab2e1a965b7520110d',1,'vm::lifters::shrq()'],['../namespacevm_1_1handler_1_1profile.html#ab32d8a91ff2c9e28a0e5062338d9ef14',1,'vm::handler::profile::shrq()']]],
['shrq_201',['SHRQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec',1,'vm::handler']]],
['shrw_202',['shrw',['../namespacevm_1_1lifters.html#a129e17bac76f26029ea048d5f459fd8e',1,'vm::lifters::shrw()'],['../namespacevm_1_1handler_1_1profile.html#a53a3ad22aa1a2f0e83eeda486f447cfc',1,'vm::handler::profile::shrw()']]],
['shrw_203',['SHRW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37',1,'vm::handler']]],
['sign_5fextend_204',['sign_extend',['../namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d',1,'vm::handler']]],
['signature_205',['signature',['../structvm_1_1handler_1_1profile__t.html#a27b22dbeada71cf631918847d7be84ba',1,'vm::handler::profile_t']]],
['sreg_2ecpp_206',['sreg.cpp',['../vmlifters_2sreg_8cpp.html',1,'(Global Namespace)'],['../vmprofiles_2sreg_8cpp.html',1,'(Global Namespace)']]],
['sregdw_207',['SREGDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974',1,'vm::handler']]],
['sregdw_208',['sregdw',['../namespacevm_1_1lifters.html#a1ed6bccf37fd06d306357cc231dc85d8',1,'vm::lifters::sregdw()'],['../namespacevm_1_1handler_1_1profile.html#a4918ca8880971ab57dde31168d0c52ff',1,'vm::handler::profile::sregdw()']]],
['sregq_209',['sregq',['../namespacevm_1_1lifters.html#ad71cc0003e40f40512d4f755bf128f75',1,'vm::lifters::sregq()'],['../namespacevm_1_1handler_1_1profile.html#a6c5922a24f03ad5104fad36b59cdb664',1,'vm::handler::profile::sregq()']]],
['sregq_210',['SREGQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e',1,'vm::handler']]],
['sregw_211',['sregw',['../namespacevm_1_1lifters.html#aab4b15f694be1f476b6336cc0b4cbf83',1,'vm::lifters::sregw()'],['../namespacevm_1_1handler_1_1profile.html#a4f55c3b0945cb86413d3c40fc08d6db7',1,'vm::handler::profile::sregw()']]],
['sregw_212',['SREGW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb',1,'vm::handler']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_13.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,9 @@
var searchData=
[
['to64_213',['to64',['../namespacevm_1_1util_1_1reg.html#a00b8eb62aa844682cceca117eca5b945',1,'vm::util::reg']]],
['trace_5fdata_214',['trace_data',['../structvm_1_1instrs_1_1virt__instr__t.html#a5d51d8778458f649434e6c96c159a260',1,'vm::instrs::virt_instr_t']]],
['transform_2ehpp_215',['transform.hpp',['../transform_8hpp.html',1,'']]],
['transform_5ft_216',['transform_t',['../namespacevm_1_1transform.html#a67d5906292cf0f9aa61364e0846fa1e6',1,'vm::transform']]],
['transforms_217',['transforms',['../structvm_1_1handler_1_1handler__t.html#a47f9e94f5e156d9215e9ae585e928a92',1,'vm::handler::handler_t::transforms()'],['../namespacevm_1_1transform.html#ac5fcbe5497bc1e136caf781b61fbd8f1',1,'vm::transform::transforms()']]],
['type_218',['type',['../structvm_1_1instrs_1_1jcc__data.html#a7a26a802234641a6a721c60055b6866c',1,'vm::instrs::jcc_data::type()'],['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384',1,'vm::transform::type()']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_14.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,10 @@
var searchData=
[
['u_219',['u',['../structvm_1_1instrs_1_1virt__instr__t.html#a046c32e02a63f3fd94c34088f2d6fc4f',1,'vm::instrs::virt_instr_t']]],
['u128_220',['u128',['../vmutils_8hpp.html#a7aa2d9a3b9a80fc61ad2ccf99ebb95f8',1,'vmutils.hpp']]],
['u16_221',['u16',['../vmutils_8hpp.html#a78c47e7d1e6386136297f10fa86b5f99',1,'vmutils.hpp']]],
['u32_222',['u32',['../vmutils_8hpp.html#a5b58b50033aff6031759d9708b5156f2',1,'vmutils.hpp']]],
['u64_223',['u64',['../vmutils_8hpp.html#a4870a1025a59df53c952b95ac2c85bf6',1,'vmutils.hpp']]],
['u8_224',['u8',['../vmutils_8hpp.html#ad24825e11b71d87e40f5c0e88dd980a0',1,'vmutils.hpp']]],
['update_5fkey_225',['update_key',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384a1033ce2eeb9b85e88eacb326208e9e4b',1,'vm::transform']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_15.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,47 @@
var searchData=
[
['calc_5fjmp_226',['calc_jmp',['../namespacevm_1_1calc__jmp.html',1,'vm']]],
['handler_227',['handler',['../namespacevm_1_1handler.html',1,'vm']]],
['instrs_228',['instrs',['../namespacevm_1_1instrs.html',1,'vm']]],
['lifters_229',['lifters',['../namespacevm_1_1lifters.html',1,'vm']]],
['profile_230',['profile',['../namespacevm_1_1handler_1_1profile.html',1,'vm::handler']]],
['reg_231',['reg',['../namespacevm_1_1util_1_1reg.html',1,'vm::util']]],
['table_232',['table',['../namespacevm_1_1handler_1_1table.html',1,'vm::handler']]],
['transform_233',['transform',['../namespacevm_1_1transform.html',1,'vm']]],
['util_234',['util',['../namespacevm_1_1util.html',1,'vm']]],
['v1_235',['v1',['../namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a6654c734ccab8f440ff0825eb443dc7f',1,'vmp2::v1()'],['../namespacevmp2_1_1v1.html',1,'vmp2::v1']]],
['v2_236',['v2',['../namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a1b267619c4812cc46ee281747884ca50',1,'vmp2::v2()'],['../namespacevmp2_1_1v2.html',1,'vmp2::v2']]],
['v3_237',['v3',['../namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579a43a03299a3c3fed3d8ce7b820f3aca81',1,'vmp2::v3()'],['../namespacevmp2_1_1v3.html',1,'vmp2::v3']]],
['valid_238',['valid',['../namespacevm_1_1transform.html#aa14dcd108c7800a9763255873e474988',1,'vm::transform']]],
['version_239',['version',['../structvmp2_1_1v3_1_1file__header.html#ad5b0868596548490caca7609cbf7a040',1,'vmp2::v3::file_header::version()'],['../structvmp2_1_1v2_1_1file__header.html#a051f78fa2f1d251a24ac7ab843c93885',1,'vmp2::v2::file_header::version()'],['../structvmp2_1_1v1_1_1file__header.html#a6104dc2211338773a0d7770fb2557976',1,'vmp2::v1::file_header::version()']]],
['version_5ft_240',['version_t',['../namespacevmp2.html#a144e081c8a268c0bfc9f738f32f19579',1,'vmp2']]],
['vinstr_241',['vinstr',['../structvmp2_1_1v3_1_1code__block__t.html#a53661b42cbaf7a61580db7816877c1a6',1,'vmp2::v3::code_block_t']]],
['vinstr_5fcount_242',['vinstr_count',['../structvmp2_1_1v3_1_1code__block__t.html#ad2206d01c7fa4e3d767993cb4582ce37',1,'vmp2::v3::code_block_t']]],
['vinstrs_243',['vinstrs',['../structvm_1_1instrs_1_1code__block__t.html#a5479652a78162e85f4d40b26bdffc15e',1,'vm::instrs::code_block_t']]],
['vip_244',['vip',['../structvmp2_1_1v2_1_1entry__t.html#af995fc5074e0c18fe987bacf73ce6773',1,'vmp2::v2::entry_t::vip()'],['../structvmp2_1_1v1_1_1entry__t.html#af9d863dc4165755e5b31549f30e7a58a',1,'vmp2::v1::entry_t::vip()']]],
['vip_5fbegin_245',['vip_begin',['../structvmp2_1_1v3_1_1code__block__t.html#a8acca6685fb25b092df96b2d7a7ed773',1,'vmp2::v3::code_block_t::vip_begin()'],['../structvm_1_1instrs_1_1code__block__t.html#aaca2c6f30eee7a05c378c41c46cdfcb9',1,'vm::instrs::code_block_t::vip_begin()']]],
['virt_5finstr_5ft_246',['virt_instr_t',['../structvm_1_1instrs_1_1virt__instr__t.html',1,'vm::instrs']]],
['vm_247',['vm',['../namespacevm.html',1,'']]],
['vm_5fentry_248',['vm_entry',['../classvm_1_1ctx__t.html#a40f0524813578bcddf9ded1e74443793',1,'vm::ctx_t']]],
['vm_5fentry_5frva_249',['vm_entry_rva',['../structvmp2_1_1v2_1_1file__header.html#afdf98118a9049deafd613e9ef2dfc988',1,'vmp2::v2::file_header::vm_entry_rva()'],['../structvmp2_1_1v3_1_1file__header.html#aea15e18f812d2d3239f3e466e85c68c4',1,'vmp2::v3::file_header::vm_entry_rva()'],['../classvm_1_1ctx__t.html#a44b4eb5513ad87a12173e599591847c3',1,'vm::ctx_t::vm_entry_rva()']]],
['vm_5fhandlers_250',['vm_handlers',['../classvm_1_1ctx__t.html#a0fa31b5bd78861dbd2c5cf04af81aa4d',1,'vm::ctx_t']]],
['vmctx_2ecpp_251',['vmctx.cpp',['../vmctx_8cpp.html',1,'']]],
['vmctx_2ehpp_252',['vmctx.hpp',['../vmctx_8hpp.html',1,'']]],
['vmexit_253',['vmexit',['../namespacevm_1_1lifters.html#a8d8d8c92bc0e93b2301aa101600f0f5e',1,'vm::lifters::vmexit()'],['../namespacevm_1_1handler_1_1profile.html#a6c388fd726713355c8c37cb9776c83c7',1,'vm::handler::profile::vmexit()']]],
['vmexit_254',['VMEXIT',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e',1,'vm::handler']]],
['vmexit_2ecpp_255',['vmexit.cpp',['../vmprofiles_2vmexit_8cpp.html',1,'(Global Namespace)'],['../vmlifters_2vmexit_8cpp.html',1,'(Global Namespace)']]],
['vmhandler_2ecpp_256',['vmhandler.cpp',['../vmhandler_8cpp.html',1,'']]],
['vmhandlers_2ehpp_257',['vmhandlers.hpp',['../vmhandlers_8hpp.html',1,'']]],
['vminstrs_2ecpp_258',['vminstrs.cpp',['../vminstrs_8cpp.html',1,'']]],
['vminstrs_2ehpp_259',['vminstrs.hpp',['../vminstrs_8hpp.html',1,'']]],
['vmlifters_2ehpp_260',['vmlifters.hpp',['../vmlifters_8hpp.html',1,'']]],
['vmp2_261',['vmp2',['../namespacevmp2.html',1,'']]],
['vmp2_2ehpp_262',['vmp2.hpp',['../vmp2_8hpp.html',1,'']]],
['vmp_5fmagic_263',['VMP_MAGIC',['../vmp2_8hpp.html#ae060e76e1844535a1d8bfb65b2ce8391',1,'vmp2.hpp']]],
['vmprofiler_2ehpp_264',['vmprofiler.hpp',['../vmprofiler_8hpp.html',1,'']]],
['vmprofiles_2ehpp_265',['vmprofiles.hpp',['../vmprofiles_8hpp.html',1,'']]],
['vmutils_2ecpp_266',['vmutils.cpp',['../vmutils_8cpp.html',1,'']]],
['vmutils_2ehpp_267',['vmutils.hpp',['../vmutils_8hpp.html',1,'']]],
['vregs_268',['vregs',['../structvmp2_1_1v1_1_1entry__t.html#ade6ea682fa296e2c9cea58c1a3f2d373',1,'vmp2::v1::entry_t::vregs()'],['../structvmp2_1_1v2_1_1entry__t.html#afb8279d89fb28d2d306fb429841ee3eb',1,'vmp2::v2::entry_t::vregs()']]],
['vsp_269',['vsp',['../structvmp2_1_1v1_1_1entry__t.html#a44ed5e932965dbc068230b94b533b4a6',1,'vmp2::v1::entry_t::vsp()'],['../structvmp2_1_1v2_1_1entry__t.html#a3eef4253b78238be9391999dcc6bcfd3',1,'vmp2::v2::entry_t::vsp()']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_16.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,11 @@
var searchData=
[
['write_2ecpp_270',['write.cpp',['../write_8cpp.html',1,'']]],
['writeb_271',['WRITEB',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241',1,'vm::handler']]],
['writeb_272',['writeb',['../namespacevm_1_1handler_1_1profile.html#a1192aea2b68e7e979971a8b683819749',1,'vm::handler::profile']]],
['writedw_273',['writedw',['../namespacevm_1_1handler_1_1profile.html#a6a00ac48c8ce010f1d3d55573beb52aa',1,'vm::handler::profile']]],
['writedw_274',['WRITEDW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160',1,'vm::handler']]],
['writeq_275',['writeq',['../namespacevm_1_1handler_1_1profile.html#a64dd8aa864a3d3e6956cdb177947f739',1,'vm::handler::profile']]],
['writeq_276',['WRITEQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14',1,'vm::handler']]],
['writew_277',['WRITEW',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5',1,'vm::handler']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_17.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,10 @@
var searchData=
[
['zero_5fextend_278',['zero_extend',['../namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725',1,'vm::handler']]],
['zydis_5fcallback_5ft_279',['zydis_callback_t',['../namespacevm_1_1handler.html#a1016539777a69d79479f5fdf066440be',1,'vm::handler']]],
['zydis_5fdecoded_5finstr_5ft_280',['zydis_decoded_instr_t',['../vmutils_8hpp.html#ad180fbf8cef52662febedec0f54b6188',1,'vmutils.hpp']]],
['zydis_5finstr_5ft_281',['zydis_instr_t',['../structzydis__instr__t.html',1,'']]],
['zydis_5fmnemonic_5ft_282',['zydis_mnemonic_t',['../vmutils_8hpp.html#a910e81858860c70b9744949887567148',1,'vmutils.hpp']]],
['zydis_5fregister_5ft_283',['zydis_register_t',['../vmutils_8hpp.html#ab8cac5db83e0d71d373779cccbf2d782',1,'vmutils.hpp']]],
['zydis_5froutine_5ft_284',['zydis_routine_t',['../vmutils_8hpp.html#a5fdde6e9d3e6c6eca28ecadf2e837d3c',1,'vmutils.hpp']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,6 @@
var searchData=
[
['backward_32',['backward',['../namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5a195fe59b6f103787a914aead0f3db502',1,'vmp2']]],
['block_5faddr_33',['block_addr',['../structvm_1_1instrs_1_1jcc__data.html#ad0439fc4249349e333d31ebed7f0344f',1,'vm::instrs::jcc_data']]],
['branching_34',['branching',['../namespacevm_1_1instrs.html#a6266fd623fdf44291ecc8897b060fd57a2c28b4e01b26788eab59ce1479b88494',1,'vm::instrs']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,15 @@
var searchData=
[
['calc_5fjmp_35',['calc_jmp',['../classvm_1_1ctx__t.html#aed0dfa1748035f48bda0f59f76643d8d',1,'vm::ctx_t']]],
['calc_5fjmp_2ecpp_36',['calc_jmp.cpp',['../calc__jmp_8cpp.html',1,'']]],
['calc_5fjmp_2ehpp_37',['calc_jmp.hpp',['../calc__jmp_8hpp.html',1,'']]],
['call_38',['CALL',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9',1,'vm::handler']]],
['call_39',['call',['../namespacevm_1_1handler_1_1profile.html#a8f262e2cec2009b84e4b01c93a16d9bc',1,'vm::handler::profile']]],
['call_2ecpp_40',['call.cpp',['../call_8cpp.html',1,'']]],
['code_5fblock_5faddr_41',['code_block_addr',['../namespacevm_1_1instrs.html#a5ee4814b206e0a4f8fc27356efc9503a',1,'vm::instrs::code_block_addr(const vm::ctx_t &amp;ctx, const vmp2::v2::entry_t &amp;entry)'],['../namespacevm_1_1instrs.html#ab49694becc7c7cbd618468b675e1b22a',1,'vm::instrs::code_block_addr(const vm::ctx_t &amp;ctx, const std::uint32_t lower_32bits)']]],
['code_5fblock_5fcount_42',['code_block_count',['../structvmp2_1_1v3_1_1file__header.html#a24a59e4770152a60ba08b7e838fec2d4',1,'vmp2::v3::file_header']]],
['code_5fblock_5foffset_43',['code_block_offset',['../structvmp2_1_1v3_1_1file__header.html#a5114dc45569676f5d392832dfee2a46b',1,'vmp2::v3::file_header']]],
['code_5fblock_5ft_44',['code_block_t',['../structvm_1_1instrs_1_1code__block__t.html',1,'vm::instrs::code_block_t'],['../structvmp2_1_1v3_1_1code__block__t.html',1,'vmp2::v3::code_block_t']]],
['compare_45',['compare',['../namespacevm_1_1util_1_1reg.html#aa6e516ed1170cd627f330ca68c1bfd4b',1,'vm::util::reg']]],
['ctx_5ft_46',['ctx_t',['../classvm_1_1ctx__t.html#aac2f090b11989dacf989648f751f77ad',1,'vm::ctx_t::ctx_t()'],['../classvm_1_1ctx__t.html',1,'vm::ctx_t']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,10 @@
var searchData=
[
['decrypt_47',['decrypt',['../namespacevm_1_1handler_1_1table.html#aa8ffcb4e9e445f940723179cf9c87818',1,'vm::handler::table']]],
['decrypt_5fkey_48',['decrypt_key',['../structvmp2_1_1v1_1_1entry__t.html#afc01193413881c666404d9ae89e41032',1,'vmp2::v1::entry_t::decrypt_key()'],['../structvmp2_1_1v2_1_1entry__t.html#ad2ec680e1eb7beefeb8aad7f968e1401',1,'vmp2::v2::entry_t::decrypt_key()']]],
['decrypt_5foperand_49',['decrypt_operand',['../namespacevm_1_1instrs.html#a995be4b7dd3764aec88207611a2b879d',1,'vm::instrs']]],
['deobfuscate_50',['deobfuscate',['../namespacevm_1_1util.html#afb0bd6aeba990fd37a612d6d318cebb5',1,'vm::util']]],
['div_2ecpp_51',['div.cpp',['../div_8cpp.html',1,'']]],
['divq_52',['divq',['../namespacevm_1_1handler_1_1profile.html#af13cfd2b6021da3a4a6c49523d7ffb39',1,'vm::handler::profile']]],
['divq_53',['DIVQ',['../namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394',1,'vm::handler']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,13 @@
var searchData=
[
['encrypt_54',['encrypt',['../namespacevm_1_1handler_1_1table.html#a69494eb8dca48abd03ff543c8adbf186',1,'vm::handler::table']]],
['encrypt_5foperand_55',['encrypt_operand',['../namespacevm_1_1instrs.html#a388b00855c582da503850d72de7e8f57',1,'vm::instrs']]],
['entry_5fcount_56',['entry_count',['../structvmp2_1_1v1_1_1file__header.html#ace410271f9fb3da72ee2aafcd16a23b8',1,'vmp2::v1::file_header::entry_count()'],['../structvmp2_1_1v2_1_1file__header.html#a2ac4c9cdbc65aa53a643a3c73d89be8f',1,'vmp2::v2::file_header::entry_count()']]],
['entry_5foffset_57',['entry_offset',['../structvmp2_1_1v1_1_1file__header.html#a66dde50694bdccead01e50137a9bbd5d',1,'vmp2::v1::file_header::entry_offset()'],['../structvmp2_1_1v2_1_1file__header.html#a352666a046aaecff042304e326d2bf97',1,'vmp2::v2::file_header::entry_offset()']]],
['entry_5ft_58',['entry_t',['../structvmp2_1_1v1_1_1entry__t.html',1,'vmp2::v1::entry_t'],['../structvmp2_1_1v2_1_1entry__t.html',1,'vmp2::v2::entry_t']]],
['epoch_5ftime_59',['epoch_time',['../structvmp2_1_1v1_1_1file__header.html#adcb827f599e85414725407ac46f031ee',1,'vmp2::v1::file_header::epoch_time()'],['../structvmp2_1_1v2_1_1file__header.html#a30e53a5b6383237a52bf39c9ad7e3af6',1,'vmp2::v2::file_header::epoch_time()'],['../structvmp2_1_1v3_1_1file__header.html#adab57c587431f54d55c160a5895d9dfb',1,'vmp2::v3::file_header::epoch_time()']]],
['exec_5ftype_60',['exec_type',['../classvm_1_1ctx__t.html#a1451637395107d39f69b097a07ef9a0f',1,'vm::ctx_t']]],
['exec_5ftype_5ft_61',['exec_type_t',['../namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5',1,'vmp2']]],
['extention_62',['extention',['../structvm_1_1handler_1_1profile__t.html#a2d419cb79f8947e0cbb2b391a067d639',1,'vm::handler::profile_t']]],
['extention_5ft_63',['extention_t',['../namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07',1,'vm::handler']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,6 @@
var searchData=
[
['file_5fheader_64',['file_header',['../structvmp2_1_1v1_1_1file__header.html',1,'vmp2::v1::file_header'],['../structvmp2_1_1v2_1_1file__header.html',1,'vmp2::v2::file_header'],['../structvmp2_1_1v3_1_1file__header.html',1,'vmp2::v3::file_header']]],
['flatten_65',['flatten',['../namespacevm_1_1util.html#a86a98ad0643716aef1ef80b3cd58d0e9',1,'vm::util']]],
['forward_66',['forward',['../namespacevmp2.html#ab2b6fa03f63a776a5c68007f89b140b5a965dbaac085fc891bfbbd4f9d145bbc8',1,'vmp2']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,17 @@
var searchData=
[
['generic0_67',['generic0',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384ab30d1c29c4a3eff9ff46c9c9ff3ac330',1,'vm::transform']]],
['generic1_68',['generic1',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384a5b034533010375fbc25ce97ffcdd36bc',1,'vm::transform']]],
['generic2_69',['generic2',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384a0a454dce1e3512aace652c12ba85ae83',1,'vm::transform']]],
['generic3_70',['generic3',['../namespacevm_1_1transform.html#aa62ffeae2f546b741c00b0c53776b384a167e51d9fbde7c7356bb71cd04f61beb',1,'vm::transform']]],
['get_71',['get',['../namespacevm_1_1calc__jmp.html#a20adb0aacf7a4ccf90484540c8004a30',1,'vm::calc_jmp::get()'],['../namespacevm_1_1handler.html#aa04be3f452edc65f17c38ef91fbed341',1,'vm::handler::get()'],['../namespacevm_1_1handler_1_1table.html#a664a7f96f12e1305466df77d761d43fc',1,'vm::handler::table::get()'],['../namespacevm_1_1instrs.html#aa7a629de41909a287c549397a4043c2f',1,'vm::instrs::get()']]],
['get_5fadvancement_72',['get_advancement',['../namespacevm_1_1calc__jmp.html#a963e598b01968c61ef992a9c7235cf8e',1,'vm::calc_jmp']]],
['get_5fall_73',['get_all',['../namespacevm_1_1handler.html#ae40eade4312e1383ae334ad2e0adacbf',1,'vm::handler::get_all(std::uintptr_t module_base, std::uintptr_t image_base, zydis_routine_t &amp;vm_entry, std::uintptr_t *vm_handler_table, std::vector&lt; handler_t &gt; &amp;vm_handlers)'],['../namespacevm_1_1handler.html#ae5e88e98b57b69a61e344e17386a06c3',1,'vm::handler::get_all(std::uintptr_t module_base, std::uintptr_t image_base, zydis_routine_t &amp;vm_entry, std::uintptr_t *vm_handler_table, std::vector&lt; vm::handler::handler_t &gt; &amp;vm_handlers)']]],
['get_5ffetch_5foperand_74',['get_fetch_operand',['../namespacevm_1_1util.html#a6ef2ebfb858878e2e06d3c96ef5b275b',1,'vm::util::get_fetch_operand(const zydis_routine_t &amp;routine, zydis_instr_t &amp;fetch_instr)'],['../namespacevm_1_1util.html#ae2d46e089059f00dc56790216c5cc234',1,'vm::util::get_fetch_operand(zydis_routine_t &amp;routine)']]],
['get_5fimm_75',['get_imm',['../namespacevm_1_1instrs.html#a432536e816a10200518676e5616335a6',1,'vm::instrs']]],
['get_5fjcc_5fdata_76',['get_jcc_data',['../namespacevm_1_1instrs.html#a093e8f1c37d98c4454a3d0b58fda6188',1,'vm::instrs']]],
['get_5foperand_5ftransforms_77',['get_operand_transforms',['../namespacevm_1_1handler.html#ad63629408ca7f8b34169a38399ffcf02',1,'vm::handler']]],
['get_5fprofile_78',['get_profile',['../namespacevm_1_1handler.html#ad410231628efa1c4ee7fe9a8c4c7db90',1,'vm::handler::get_profile(handler_t &amp;vm_handler)'],['../namespacevm_1_1handler.html#a0ba01b3a015d7f25b83261e9183a2e40',1,'vm::handler::get_profile(vm::handler::mnemonic_t mnemonic)']]],
['get_5frva_5fdecrypt_79',['get_rva_decrypt',['../namespacevm_1_1instrs.html#abfbe5c819730d2693296df3c71393de3',1,'vm::instrs']]],
['get_5ftransform_80',['get_transform',['../namespacevm_1_1handler_1_1table.html#a5e8586b80ccde98882291ded921749ff',1,'vm::handler::table']]]
];

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

@ -0,0 +1,7 @@
var searchData=
[
['handler_5fidx_81',['handler_idx',['../structvmp2_1_1v1_1_1entry__t.html#a6eadb65583e755c34e5dfe94b1de9d58',1,'vmp2::v1::entry_t::handler_idx()'],['../structvmp2_1_1v2_1_1entry__t.html#a0790f4f0961fc3ec556727f0e9eff292',1,'vmp2::v2::entry_t::handler_idx()']]],
['handler_5ft_82',['handler_t',['../structvm_1_1handler_1_1handler__t.html',1,'vm::handler']]],
['has_5fimm_83',['has_imm',['../structvm_1_1instrs_1_1virt__instr__t.html#ac91bab4ece39b8424e9ef617333948fd',1,'vm::instrs::virt_instr_t::has_imm()'],['../namespacevm_1_1transform.html#a9c79900f35ec03b9f38b239e4678788c',1,'vm::transform::has_imm()'],['../namespacevm_1_1handler.html#ab830e56e2b4ee32851937ae0fe1a4918',1,'vm::handler::has_imm()']]],
['has_5fjcc_84',['has_jcc',['../structvm_1_1instrs_1_1jcc__data.html#affad18f3c23aeb243a00db2da0ea45e6',1,'vm::instrs::jcc_data']]]
];

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save