You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vmprofiler/doxygen/html/vmprofiles_8hpp.html

266 lines
36 KiB

<!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/vmprofiles.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="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">vmprofiles.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 />
</div>
<p><a href="vmprofiles_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="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_1profile__t.html">vm::handler::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="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><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">vm::handler::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">vm::handler::mnemonic_t</a> { <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9bb151fee0df242f0a304a3785191465">vm::handler::INVALID</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9ee93798eb7945788dfe63a908a3f423">vm::handler::LRFLAGS</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa9f0e1b43f89c1e555a7d3577f5c7b8f">vm::handler::PUSHVSP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a65232b40f75ab995af9eea0d5aee6444">vm::handler::MULQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a3b8d706f88294ce7a8a8b08a9f5ff394">vm::handler::DIVQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20b781d295b3872217cec880fc659ff9">vm::handler::CALL</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ad9ceecb5b5d78d7467ae3187dd3b0bd8">vm::handler::JMP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aca4bfa0932d82166e9731d77d4ddd42e">vm::handler::VMEXIT</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a9c71d9caebd124594f42632b6df8c1df">vm::handler::LVSP</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a624092452de9f6648610ceffce32f78e">vm::handler::SREGQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac41895fb285b8cb4ebe33755fc9b4974">vm::handler::SREGDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a918bd3d416c98957043ace785146adeb">vm::handler::SREGW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a52308ac93a020fa701b6dee83c3d58f3">vm::handler::LREGQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac04ea404828638e83dee7b69ef22810f">vm::handler::LREGDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a7691f0a92bb227b10a879f701b807c6c">vm::handler::LCONSTQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa8a6a0d6b5d0cc301380df7bbdcf42b8">vm::handler::LCONSTBZXW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aed58a3d6bbdb580c2817a128eb1ffe11">vm::handler::LCONSTBSXQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1accb986463feaa5f71f92067dc688aa93">vm::handler::LCONSTBSXDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa57a3ad6bd862f3e73785b6ac54c1591">vm::handler::LCONSTDWSXQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1adf57df5a2ccfeec8f29a0ca75bdf595b">vm::handler::LCONSTWSXQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1b719f2ae2d0a537fa2965ebd8b467d7">vm::handler::LCONSTWSXDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a21632363cca2c18a0bc30ddd9e718a6b">vm::handler::LCONSTDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1acf151e8e073bb5fc5d0e967fe68a92b7">vm::handler::LCONSTW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aedc758f639062bd366e49b155618225b">vm::handler::READQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a483ae76aeaa24a4278793ac99f32e45b">vm::handler::READDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a20f6daaede6cf418b6e3cb7a5b242a47">vm::handler::READW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a24fc686c7f66e479c8c1ae145bf2ba14">vm::handler::WRITEQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1af92bc6344b93fea2c0e5d1fdf8500160">vm::handler::WRITEDW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae5197ebd4240e18268cdeca4371c25d5">vm::handler::WRITEW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aa5646e9d21720029b354bfeca29f6241">vm::handler::WRITEB</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a1c1d818ac0054ac2bab61885479fd10b">vm::handler::ADDQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1abb62bc05ab9e2b13eea6e0a68a9a850f">vm::handler::ADDDW</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a658535c08ac0930a31bd92dfc8b2efc6">vm::handler::ADDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae820c14a2d48db026b12e60ef2bf55b3">vm::handler::SHLQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab8cddf6b4543c598ccb714551141aa81">vm::handler::SHLDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ac14306e538f382de3093cc8f3d4d95ec">vm::handler::SHRQ</a>
, <br />
&#160;&#160;<a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ab36694ea7404c953f0fefdd201592d37">vm::handler::SHRW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1a2731b10387427c3422e7d822575bf55a">vm::handler::NANDQ</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1ae64f69da87f4b139ed9d2444589ef3f0">vm::handler::NANDDW</a>
, <a class="el" href="namespacevm_1_1handler.html#a83cdfb05acdea9268310c37165bd13c1aea25395449f2b159a0b9e1547c9b7d13">vm::handler::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">vm::handler::extention_t</a> { <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a8dffe0c4e6ca7a545daca4edac325522">vm::handler::none</a>
, <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07acae8cc1c1114ea88d7d8affeecb19b1d">vm::handler::sign_extend</a>
, <a class="el" href="namespacevm_1_1handler.html#ac79240b14c7251b5358709c130821e07a6ff2bd786349a5d9affb290a9c602725">vm::handler::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="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a6c5922a24f03ad5104fad36b59cdb664"><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_1_1profile.html#a6c5922a24f03ad5104fad36b59cdb664">vm::handler::profile::sregq</a></td></tr>
<tr class="separator:a6c5922a24f03ad5104fad36b59cdb664"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4918ca8880971ab57dde31168d0c52ff"><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_1_1profile.html#a4918ca8880971ab57dde31168d0c52ff">vm::handler::profile::sregdw</a></td></tr>
<tr class="separator:a4918ca8880971ab57dde31168d0c52ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f55c3b0945cb86413d3c40fc08d6db7"><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_1_1profile.html#a4f55c3b0945cb86413d3c40fc08d6db7">vm::handler::profile::sregw</a></td></tr>
<tr class="separator:a4f55c3b0945cb86413d3c40fc08d6db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a414cfdeee11134889ee43e27db751810"><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_1_1profile.html#a414cfdeee11134889ee43e27db751810">vm::handler::profile::lregq</a></td></tr>
<tr class="separator:a414cfdeee11134889ee43e27db751810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4ec0ea607d5a6f1288912ce4a888443"><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_1_1profile.html#aa4ec0ea607d5a6f1288912ce4a888443">vm::handler::profile::lregdw</a></td></tr>
<tr class="separator:aa4ec0ea607d5a6f1288912ce4a888443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bd4c8f24b989dd0b4d2939f80ce229a"><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_1_1profile.html#a9bd4c8f24b989dd0b4d2939f80ce229a">vm::handler::profile::lconstq</a></td></tr>
<tr class="memdesc:a9bd4c8f24b989dd0b4d2939f80ce229a"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov rax, [rsi] xor rax, rbx ; transformation bswap rax ; transformation lea rsi, [rsi+8] ; advance VIP<49> rol rax, 0Ch ; transformation inc rax ; transformation xor rbx, rax ; transformation (update rolling decrypt key) sub rbp, 8 mov [rbp+0], rax <a href="namespacevm_1_1handler_1_1profile.html#a9bd4c8f24b989dd0b4d2939f80ce229a">More...</a><br /></td></tr>
<tr class="separator:a9bd4c8f24b989dd0b4d2939f80ce229a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372c4bf2fd4e6925a143d2fa4f7b1d3c"><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_1_1profile.html#a372c4bf2fd4e6925a143d2fa4f7b1d3c">vm::handler::profile::lconstdw</a></td></tr>
<tr class="memdesc:a372c4bf2fd4e6925a143d2fa4f7b1d3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov eax, [rsi-0x04] bswap eax add eax, ebx dec eax neg eax xor eax, 0x2FFD187C push rbx add [rsp], eax pop rbx sub rbp, 0x04 mov [rbp], eax add rsi, 0xFFFFFFFFFFFFFFFC <a href="namespacevm_1_1handler_1_1profile.html#a372c4bf2fd4e6925a143d2fa4f7b1d3c">More...</a><br /></td></tr>
<tr class="separator:a372c4bf2fd4e6925a143d2fa4f7b1d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a05027b8a8e7b743b4864887ae2726"><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_1_1profile.html#a10a05027b8a8e7b743b4864887ae2726">vm::handler::profile::lconstw</a></td></tr>
<tr class="separator:a10a05027b8a8e7b743b4864887ae2726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a894ae9fb4ec1e6a1a2509e8180ecae09"><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_1_1profile.html#a894ae9fb4ec1e6a1a2509e8180ecae09">vm::handler::profile::lconstbzxw</a></td></tr>
<tr class="separator:a894ae9fb4ec1e6a1a2509e8180ecae09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9564effe8ffeb39e275721e0061d2329"><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_1_1profile.html#a9564effe8ffeb39e275721e0061d2329">vm::handler::profile::lconstbsxdw</a></td></tr>
<tr class="separator:a9564effe8ffeb39e275721e0061d2329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e8dd1515687cbf22241bb7b0ac9c20a"><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_1_1profile.html#a3e8dd1515687cbf22241bb7b0ac9c20a">vm::handler::profile::lconstbsxq</a></td></tr>
<tr class="separator:a3e8dd1515687cbf22241bb7b0ac9c20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeefadf94f965a133da38f0018c3a3fa"><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_1_1profile.html#aaeefadf94f965a133da38f0018c3a3fa">vm::handler::profile::lconstdwsxq</a></td></tr>
<tr class="separator:aaeefadf94f965a133da38f0018c3a3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f60c9f437f9051a35d2f75865b8a96"><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_1_1profile.html#a15f60c9f437f9051a35d2f75865b8a96">vm::handler::profile::lconstwsxq</a></td></tr>
<tr class="separator:a15f60c9f437f9051a35d2f75865b8a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b7c27b6a7e02e2ff12583429a50fc5"><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_1_1profile.html#ae1b7c27b6a7e02e2ff12583429a50fc5">vm::handler::profile::lconstwsxdw</a></td></tr>
<tr class="separator:ae1b7c27b6a7e02e2ff12583429a50fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fec819ec586b0f38fd4dc9489a2faf8"><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_1_1profile.html#a6fec819ec586b0f38fd4dc9489a2faf8">vm::handler::profile::addq</a></td></tr>
<tr class="memdesc:a6fec819ec586b0f38fd4dc9489a2faf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov rax, [rbp+0] add [rbp+8], rax pushfq pop qword ptr [rbp+0] <a href="namespacevm_1_1handler_1_1profile.html#a6fec819ec586b0f38fd4dc9489a2faf8">More...</a><br /></td></tr>
<tr class="separator:a6fec819ec586b0f38fd4dc9489a2faf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf6399e884a3e41d3cb953f00d62c13"><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_1_1profile.html#a5bf6399e884a3e41d3cb953f00d62c13">vm::handler::profile::adddw</a></td></tr>
<tr class="memdesc:a5bf6399e884a3e41d3cb953f00d62c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov ax, [rbp] sub rbp, 0x06 add [rbp+0x08], ax pushfq pop [rbp] <a href="namespacevm_1_1handler_1_1profile.html#a5bf6399e884a3e41d3cb953f00d62c13">More...</a><br /></td></tr>
<tr class="separator:a5bf6399e884a3e41d3cb953f00d62c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6638f78fcb7d781db4476b11bd3c139"><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_1_1profile.html#ac6638f78fcb7d781db4476b11bd3c139">vm::handler::profile::addw</a></td></tr>
<tr class="separator:ac6638f78fcb7d781db4476b11bd3c139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8be3b9aa44bba9c01a0544356f4a35ad"><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_1_1profile.html#a8be3b9aa44bba9c01a0544356f4a35ad">vm::handler::profile::shlq</a></td></tr>
<tr class="separator:a8be3b9aa44bba9c01a0544356f4a35ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b3e7b23ca523249a1b4149f2b221a9"><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_1_1profile.html#a94b3e7b23ca523249a1b4149f2b221a9">vm::handler::profile::shldw</a></td></tr>
<tr class="separator:a94b3e7b23ca523249a1b4149f2b221a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a09dbad0ad33f4e9a3e03547befee1"><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_1_1profile.html#a44a09dbad0ad33f4e9a3e03547befee1">vm::handler::profile::nandq</a></td></tr>
<tr class="separator:a44a09dbad0ad33f4e9a3e03547befee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57bdbf79f0a2209d3599a6684b337d41"><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_1_1profile.html#a57bdbf79f0a2209d3599a6684b337d41">vm::handler::profile::nanddw</a></td></tr>
<tr class="separator:a57bdbf79f0a2209d3599a6684b337d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c947e851b1e0829f15fb5fccb77c016"><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_1_1profile.html#a9c947e851b1e0829f15fb5fccb77c016">vm::handler::profile::nandw</a></td></tr>
<tr class="separator:a9c947e851b1e0829f15fb5fccb77c016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64dd8aa864a3d3e6956cdb177947f739"><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_1_1profile.html#a64dd8aa864a3d3e6956cdb177947f739">vm::handler::profile::writeq</a></td></tr>
<tr class="separator:a64dd8aa864a3d3e6956cdb177947f739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a00ac48c8ce010f1d3d55573beb52aa"><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_1_1profile.html#a6a00ac48c8ce010f1d3d55573beb52aa">vm::handler::profile::writedw</a></td></tr>
<tr class="separator:a6a00ac48c8ce010f1d3d55573beb52aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1192aea2b68e7e979971a8b683819749"><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_1_1profile.html#a1192aea2b68e7e979971a8b683819749">vm::handler::profile::writeb</a></td></tr>
<tr class="separator:a1192aea2b68e7e979971a8b683819749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6969c269658e6069415fc19924a8eff1"><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_1_1profile.html#a6969c269658e6069415fc19924a8eff1">vm::handler::profile::readq</a></td></tr>
<tr class="separator:a6969c269658e6069415fc19924a8eff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dcb388eb57317a1fb30a882c1f659de"><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_1_1profile.html#a7dcb388eb57317a1fb30a882c1f659de">vm::handler::profile::readdw</a></td></tr>
<tr class="separator:a7dcb388eb57317a1fb30a882c1f659de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab32d8a91ff2c9e28a0e5062338d9ef14"><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_1_1profile.html#ab32d8a91ff2c9e28a0e5062338d9ef14">vm::handler::profile::shrq</a></td></tr>
<tr class="separator:ab32d8a91ff2c9e28a0e5062338d9ef14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a3ad22aa1a2f0e83eeda486f447cfc"><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_1_1profile.html#a53a3ad22aa1a2f0e83eeda486f447cfc">vm::handler::profile::shrw</a></td></tr>
<tr class="separator:a53a3ad22aa1a2f0e83eeda486f447cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5548b091697d700b516f23e807880d55"><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_1_1profile.html#a5548b091697d700b516f23e807880d55">vm::handler::profile::lrflags</a></td></tr>
<tr class="separator:a5548b091697d700b516f23e807880d55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f262e2cec2009b84e4b01c93a16d9bc"><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_1_1profile.html#a8f262e2cec2009b84e4b01c93a16d9bc">vm::handler::profile::call</a></td></tr>
<tr class="memdesc:a8f262e2cec2009b84e4b01c93a16d9bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov rdx, [rbp] add rbp, 0x08 call rdx <a href="namespacevm_1_1handler_1_1profile.html#a8f262e2cec2009b84e4b01c93a16d9bc">More...</a><br /></td></tr>
<tr class="separator:a8f262e2cec2009b84e4b01c93a16d9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d827f69b569476e699a96c16b0334f6"><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_1_1profile.html#a3d827f69b569476e699a96c16b0334f6">vm::handler::profile::pushvsp</a></td></tr>
<tr class="separator:a3d827f69b569476e699a96c16b0334f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a570412f201d1738c4ac5ecac2dc90a2d"><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_1_1profile.html#a570412f201d1738c4ac5ecac2dc90a2d">vm::handler::profile::mulq</a></td></tr>
<tr class="separator:a570412f201d1738c4ac5ecac2dc90a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af13cfd2b6021da3a4a6c49523d7ffb39"><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_1_1profile.html#af13cfd2b6021da3a4a6c49523d7ffb39">vm::handler::profile::divq</a></td></tr>
<tr class="memdesc:af13cfd2b6021da3a4a6c49523d7ffb39"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov rdx, [rbp] mov rax, [rbp+0x08] div [rbp+0x10] mov [rbp+0x08], rdx mov [rbp+0x10], rax pushfq pop [rbp] <a href="namespacevm_1_1handler_1_1profile.html#af13cfd2b6021da3a4a6c49523d7ffb39">More...</a><br /></td></tr>
<tr class="separator:af13cfd2b6021da3a4a6c49523d7ffb39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a677748b24e229ec7417fa89092928fae"><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_1_1profile.html#a677748b24e229ec7417fa89092928fae">vm::handler::profile::jmp</a></td></tr>
<tr class="memdesc:a677748b24e229ec7417fa89092928fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov esi, [rbp] add rbp, 0x08 lea r12, [0x0000000000048F29] mov rax, 0x00 ; image base bytes above 32bits... add rsi, rax mov rbx, rsi ; update decrypt key add rsi, [rbp] ; add module base address <a href="namespacevm_1_1handler_1_1profile.html#a677748b24e229ec7417fa89092928fae">More...</a><br /></td></tr>
<tr class="separator:a677748b24e229ec7417fa89092928fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a355ddd09a3e6f6978304c70d3a33aff7"><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_1_1profile.html#a355ddd09a3e6f6978304c70d3a33aff7">vm::handler::profile::lvsp</a></td></tr>
<tr class="memdesc:a355ddd09a3e6f6978304c70d3a33aff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">mov rbp [rbp+0] <a href="namespacevm_1_1handler_1_1profile.html#a355ddd09a3e6f6978304c70d3a33aff7">More...</a><br /></td></tr>
<tr class="separator:a355ddd09a3e6f6978304c70d3a33aff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c388fd726713355c8c37cb9776c83c7"><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_1_1profile.html#a6c388fd726713355c8c37cb9776c83c7">vm::handler::profile::vmexit</a></td></tr>
<tr class="separator:a6c388fd726713355c8c37cb9776c83c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39376b2fb191d8ff1af7ef0128f715ed"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structvm_1_1handler_1_1profile__t.html">vm::handler::profile_t</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacevm_1_1handler_1_1profile.html#a39376b2fb191d8ff1af7ef0128f715ed">vm::handler::profile::all</a></td></tr>
<tr class="memdesc:a39376b2fb191d8ff1af7ef0128f715ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">a vector of pointers to all defined vm handler profiles... <a href="namespacevm_1_1handler_1_1profile.html#a39376b2fb191d8ff1af7ef0128f715ed">More...</a><br /></td></tr>
<tr class="separator:a39376b2fb191d8ff1af7ef0128f715ed"><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>