{"componentChunkName":"component---src-templates-post-template-js","path":"/ctf-seccon2022-rev-en","result":{"data":{"markdownRemark":{"id":"9d88ab73-9072-5bce-835f-4ba1b6730a96","html":"<blockquote>\n<p>This page has been machine-translated from the <a href=\"/ctf-seccon2022-rev\">original page</a>.</p>\n</blockquote>\n<p>I will work through the Rev challenges from the SECCON qualifiers one by one.</p>\n<p>I plan to add the other challenges later.</p>\n<p>For the challenges and write-ups, refer to the following official repository.</p>\n<p>Reference: <a href=\"https://github.com/SECCON/SECCON2022_online_CTF\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub - SECCON/SECCON2022<em>online</em>CTF</a></p>\n<!-- omit in toc -->\n<h2 id=\"table-of-contents\" style=\"position:relative;\"><a href=\"#table-of-contents\" aria-label=\"table of contents permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Table of Contents</h2>\n<ul>\n<li><a href=\"#baby_cmprev\">baby_cmp(Rev)</a></li>\n<li><a href=\"#eguiterev\">eguite(Rev)</a></li>\n<li><a href=\"#devil-hunterrev\">Devil Hunter(Rev)</a></li>\n<li><a href=\"#dorobohrev\">DoroboH(Rev)</a></li>\n<li><a href=\"#eldercmprev\">eldercmp(Rev)</a></li>\n</ul>\n<h2 id=\"baby_cmprev\" style=\"position:relative;\"><a href=\"#baby_cmprev\" aria-label=\"baby_cmprev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>baby_cmp(Rev)</h2>\n<blockquote>\n<p>baby_mode = 1 👶</p>\n</blockquote>\n<p>When I decompiled the challenge binary in Ghidra, it turned out to be a simple password-checking program.</p>\n<p>I was able to recover the flag with a template angr script.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">import</span> angr\n<span class=\"token keyword\">import</span> claripy\n\nproj <span class=\"token operator\">=</span> angr<span class=\"token punctuation\">.</span>Project<span class=\"token punctuation\">(</span><span class=\"token string\">\"chall.baby\"</span><span class=\"token punctuation\">,</span> auto_load_libs<span class=\"token operator\">=</span><span class=\"token boolean\">False</span><span class=\"token punctuation\">)</span>\nobj <span class=\"token operator\">=</span> proj<span class=\"token punctuation\">.</span>loader<span class=\"token punctuation\">.</span>main_object\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Entry\"</span><span class=\"token punctuation\">,</span> <span class=\"token builtin\">hex</span><span class=\"token punctuation\">(</span>obj<span class=\"token punctuation\">.</span>entry<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\nfind <span class=\"token operator\">=</span> <span class=\"token number\">0x4012c9</span>\navoids <span class=\"token operator\">=</span> <span class=\"token number\">0x40127a</span>\n\nflag <span class=\"token operator\">=</span> claripy<span class=\"token punctuation\">.</span>BVS<span class=\"token punctuation\">(</span><span class=\"token string\">\"flag\"</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x23</span> <span class=\"token operator\">*</span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span>\nstate <span class=\"token operator\">=</span> proj<span class=\"token punctuation\">.</span>factory<span class=\"token punctuation\">.</span>entry_state<span class=\"token punctuation\">(</span>args<span class=\"token operator\">=</span><span class=\"token punctuation\">[</span><span class=\"token string\">\"./chall.baby\"</span><span class=\"token punctuation\">,</span> flag<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0x23</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    state<span class=\"token punctuation\">.</span>solver<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">.</span>get_byte<span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">)</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0x21</span><span class=\"token punctuation\">)</span>\n    state<span class=\"token punctuation\">.</span>solver<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">.</span>get_byte<span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0x7f</span><span class=\"token punctuation\">)</span>\n\nsimgr <span class=\"token operator\">=</span> proj<span class=\"token punctuation\">.</span>factory<span class=\"token punctuation\">.</span>simgr<span class=\"token punctuation\">(</span>state<span class=\"token punctuation\">)</span>\nsimgr<span class=\"token punctuation\">.</span>explore<span class=\"token punctuation\">(</span>find<span class=\"token operator\">=</span>find<span class=\"token punctuation\">,</span> avoid<span class=\"token operator\">=</span>avoids<span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># Output</span>\nsimgr<span class=\"token punctuation\">.</span>found<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span>solver<span class=\"token punctuation\">.</span><span class=\"token builtin\">eval</span><span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">,</span> cast_to<span class=\"token operator\">=</span><span class=\"token builtin\">bytes</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># SECCON{y0u_f0und_7h3_baby_flag_YaY}</span></code></pre></div>\n<h2 id=\"eguiterev\" style=\"position:relative;\"><a href=\"#eguiterev\" aria-label=\"eguiterev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>eguite(Rev)</h2>\n<blockquote>\n<p>Crack me.</p>\n</blockquote>\n<p>Running the binary shows that it is a GUI program that performs license verification, as shown below.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 804px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/bdca7c6bd8f479c510c4727767c51860/27b7a/image-20230819214020573.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 49.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACDklEQVQoz2WSS28SYRSGZy+30AAOQ4EJlFsonXCHBFIYVMpFGIqgDWmBYKKxbrQaVmw1bprwD0w0caFoK7Zeqok/w6Txr7x+32lISV08OZfvnZNzGeHt+2Mcf/2FNx+/4PVsjnfzb/h08oM4Ov2JD58vY+4fnZ5hNv9O8NyM6TknZ78JQZQckB0SnteqeNXS8EQtolrZItRiATv37qJWraCyVSa/xN7b2y3i1s0b6Nxpo6U1IbtdsIvXIdikVfhdLpy/eAk8eIjzR/sYj8eo129jNBqhUChibc2HwWAAj8eDbDaLTqeLXC6H6XSKWDyOpwcH2NhQYLFaLwoG3G786fWA/cf4e3iIZ0yw3W5jb3cXqqoiFAqhx96DwSAV7Ha7lJ9MJhAEAZqmIRqNwmKxQLA7nHCxkTubm7hfr6Odz7OxVJTLZZRKJfT7fTSbTYqHwyHZWq1GRRKJBPx+PxWTZRl2u/2ioMhmN6ys4JrJRNZsNsPEfC6Ms5F4h+FwGJlMhmL+xuEdiaIIKxvVZrORL4QjCtbXwzAaDDAZjWQNDCPz9Xo9dDodwf0F/I3DdTxetkJEYV3EYtTNMoqiIBKJkG00GgTP89xVLSfGanCt4JI9cLOTu9lhlkkmk3QAPmYqlUI6nUae7ZfvjV/7qn4B+w9XaYd8/mX4kn0+H33sdDpJHAgE4PV6IUnSf/oF/wBKr11ZIv3CbQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/bdca7c6bd8f479c510c4727767c51860/8ac56/image-20230819214020573.webp 240w,\n/static/bdca7c6bd8f479c510c4727767c51860/d3be9/image-20230819214020573.webp 480w,\n/static/bdca7c6bd8f479c510c4727767c51860/95e88/image-20230819214020573.webp 804w\"\n              sizes=\"(max-width: 804px) 100vw, 804px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/bdca7c6bd8f479c510c4727767c51860/8ff5a/image-20230819214020573.png 240w,\n/static/bdca7c6bd8f479c510c4727767c51860/e85cb/image-20230819214020573.png 480w,\n/static/bdca7c6bd8f479c510c4727767c51860/27b7a/image-20230819214020573.png 804w\"\n            sizes=\"(max-width: 804px) 100vw, 804px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/bdca7c6bd8f479c510c4727767c51860/27b7a/image-20230819214020573.png\"\n            alt=\"image-20230819214020573\"\n            title=\"image-20230819214020573\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>I started by decompiling it with Ghidra.</p>\n<p>Because it is a GUI program, locating the actual verification logic takes a bit of work, but searching for the string <code class=\"language-text\">Invalid license</code> let me identify the relevant code.</p>\n<p>The <code class=\"language-text\">onClick</code> function below appears to be the one called when the Check button is pressed.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/453274f9d86906eba4365e9272381aea/38a65/image-20230819215345672.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 25.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABQElEQVQY0x2P2U7CUBRF+/8JokKHlGgALWitttFvMCaCifqqaBgKKkKH2wsdiMurZ2dlJ/thJUfzZUA/O8NJPNxNgLMOcKVPL/U5TXz6wqebXXC3viWcz5jlY0bZGy+bd15FyCgNGW9fme9CFj8faF4WcLzoYk88HHFDe3mJk17S/TqnL69xi4Be5XIfPfAUPqPLOnpUox43aEidpmihZwZmYWKVFporL7AXNtakh7P16MQOp1mf1vycTnRFT3qcVA6DdMBj+ESjVJL1HrXPPfbXBgeJrrBobpuYpYmW5AnTrwmj2TerTc5nGhPnEdNojNjJf/6SiYzhbIheKUFkUlvWOUgPaeY6jVzJKlNhoJVFhYhTVsuCqgApKtVqS1fsSsg3/F8pCgbTAYYStlY2xvIEO7LU+xaWOKJdduhUbX4BnFZT/FLLRvIAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/453274f9d86906eba4365e9272381aea/8ac56/image-20230819215345672.webp 240w,\n/static/453274f9d86906eba4365e9272381aea/d3be9/image-20230819215345672.webp 480w,\n/static/453274f9d86906eba4365e9272381aea/e46b2/image-20230819215345672.webp 960w,\n/static/453274f9d86906eba4365e9272381aea/4690a/image-20230819215345672.webp 1075w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/453274f9d86906eba4365e9272381aea/8ff5a/image-20230819215345672.png 240w,\n/static/453274f9d86906eba4365e9272381aea/e85cb/image-20230819215345672.png 480w,\n/static/453274f9d86906eba4365e9272381aea/d9199/image-20230819215345672.png 960w,\n/static/453274f9d86906eba4365e9272381aea/38a65/image-20230819215345672.png 1075w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/453274f9d86906eba4365e9272381aea/d9199/image-20230819215345672.png\"\n            alt=\"image-20230819215345672\"\n            title=\"image-20230819215345672\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>For reference, here is Ghidra’s decompiled output.</p>\n<p>You can see that it performs fairly complex validation on the input.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token comment\">/* eguite::Crackme::onclick */</span>\nbool eguite<span class=\"token operator\">::</span>Crackme<span class=\"token operator\">::</span><span class=\"token function\">onclick</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> param_1<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  uint <span class=\"token operator\">*</span>puVar1<span class=\"token punctuation\">;</span>\n  byte bVar2<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">void</span> <span class=\"token operator\">*</span>pvVar3<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>puVar4<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> lVar5<span class=\"token punctuation\">;</span>\n  uint uVar6<span class=\"token punctuation\">;</span>\n  undefined <span class=\"token operator\">*</span><span class=\"token operator\">*</span>ppuVar7<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>puVar8<span class=\"token punctuation\">;</span>\n  uint uVar9<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>puVar10<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>puVar11<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>local_68<span class=\"token punctuation\">;</span>\n  uint <span class=\"token operator\">*</span>local_60<span class=\"token punctuation\">;</span>\n  undefined4 local_58<span class=\"token punctuation\">;</span>\n  undefined4 uStack_54<span class=\"token punctuation\">;</span>\n  undefined4 uStack_50<span class=\"token punctuation\">;</span>\n  undefined4 uStack_4c<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">void</span> <span class=\"token operator\">*</span>local_48<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> local_40<span class=\"token punctuation\">;</span>\n  undefined8 local_38<span class=\"token punctuation\">;</span>\n  \n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> <span class=\"token number\">0x90</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0x2b</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  puVar11 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> <span class=\"token number\">0x80</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar11 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">^</span> <span class=\"token number\">0x7b4e4f43</span> <span class=\"token operator\">|</span> <span class=\"token operator\">*</span>puVar11 <span class=\"token operator\">^</span> <span class=\"token number\">0x43434553</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar11 <span class=\"token operator\">+</span> <span class=\"token number\">0x2a</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0x7d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  puVar1 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar11 <span class=\"token operator\">+</span> <span class=\"token number\">0x2b</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  lVar5 <span class=\"token operator\">=</span> <span class=\"token number\">0x13</span><span class=\"token punctuation\">;</span>\n  puVar4 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">==</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016027f<span class=\"token punctuation\">;</span>\n    bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span>\n             <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span>\n            <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016027f<span class=\"token punctuation\">;</span>\n        puVar4 <span class=\"token operator\">=</span> puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n      puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    lVar5 <span class=\"token operator\">=</span> lVar5 <span class=\"token operator\">+</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>lVar5 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">==</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\nLAB_0016027f<span class=\"token operator\">:</span>\n    ppuVar7 <span class=\"token operator\">=</span> <span class=\"token operator\">&amp;</span>PTR_s_src<span class=\"token operator\">/</span>main<span class=\"token punctuation\">.</span><span class=\"token function\">rsgetrandom_getrandom</span><span class=\"token punctuation\">(</span>_00725118<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">goto</span> LAB_0016046d<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n  uVar9 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint<span class=\"token punctuation\">)</span>bVar2<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    uVar6 <span class=\"token operator\">=</span> bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x1f</span><span class=\"token punctuation\">;</span>\n    uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      uVar9 <span class=\"token operator\">=</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> uVar9<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> uVar9 <span class=\"token operator\">|</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016027f<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  lVar5 <span class=\"token operator\">=</span> <span class=\"token number\">0x1a</span><span class=\"token punctuation\">;</span>\n  puVar4 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">==</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016036f<span class=\"token punctuation\">;</span>\n    bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span>\n             <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span>\n            <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016036f<span class=\"token punctuation\">;</span>\n        puVar4 <span class=\"token operator\">=</span> puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n      puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    lVar5 <span class=\"token operator\">=</span> lVar5 <span class=\"token operator\">+</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>lVar5 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">==</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\nLAB_0016036f<span class=\"token operator\">:</span>\n    ppuVar7 <span class=\"token operator\">=</span> <span class=\"token operator\">&amp;</span>PTR_s_src<span class=\"token operator\">/</span>main<span class=\"token punctuation\">.</span><span class=\"token function\">rsgetrandom_getrandom</span><span class=\"token punctuation\">(</span>_00725130<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n    uVar9 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint<span class=\"token punctuation\">)</span>bVar2<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      uVar6 <span class=\"token operator\">=</span> bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x1f</span><span class=\"token punctuation\">;</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> uVar9<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          uVar9 <span class=\"token operator\">=</span> uVar9 <span class=\"token operator\">|</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n          uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">;</span>\n          <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016036f<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    lVar5 <span class=\"token operator\">=</span> <span class=\"token number\">0x21</span><span class=\"token punctuation\">;</span>\n    puVar4 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">==</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016045f<span class=\"token punctuation\">;</span>\n      bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span>\n               <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span>\n               <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span>\n          <span class=\"token keyword\">goto</span> LAB_0016045f<span class=\"token punctuation\">;</span>\n          puVar4 <span class=\"token operator\">=</span> puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      lVar5 <span class=\"token operator\">=</span> lVar5 <span class=\"token operator\">+</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>lVar5 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>puVar4 <span class=\"token operator\">!=</span> puVar1<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      bVar2 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>puVar4<span class=\"token punctuation\">;</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint<span class=\"token punctuation\">)</span>bVar2<span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">-</span><span class=\"token number\">1</span> <span class=\"token operator\">&lt;</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>bVar2<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\nLAB_0016048a<span class=\"token operator\">:</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        local_58 <span class=\"token operator\">=</span> <span class=\"token number\">7</span><span class=\"token punctuation\">;</span>\n        uStack_54 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        uStack_50 <span class=\"token operator\">=</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\n        uStack_4c <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        local_68 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n        local_60 <span class=\"token operator\">=</span> puVar1<span class=\"token punctuation\">;</span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_48<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        pvVar3 <span class=\"token operator\">=</span> local_48<span class=\"token punctuation\">;</span>\n        core<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">,</span>local_48<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        puVar4 <span class=\"token operator\">=</span> local_60<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>local_68 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar4 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>pvVar3<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        local_58 <span class=\"token operator\">=</span> <span class=\"token number\">0x14</span><span class=\"token punctuation\">;</span>\n        uStack_54 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        uStack_50 <span class=\"token operator\">=</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n        uStack_4c <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        local_68 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n        local_60 <span class=\"token operator\">=</span> puVar1<span class=\"token punctuation\">;</span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_48<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        pvVar3 <span class=\"token operator\">=</span> local_48<span class=\"token punctuation\">;</span>\n        core<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">,</span>local_48<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        puVar10 <span class=\"token operator\">=</span> local_60<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>local_68 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar10 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>pvVar3<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        local_58 <span class=\"token operator\">=</span> <span class=\"token number\">0x1b</span><span class=\"token punctuation\">;</span>\n        uStack_54 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        uStack_50 <span class=\"token operator\">=</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n        uStack_4c <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        local_68 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n        local_60 <span class=\"token operator\">=</span> puVar1<span class=\"token punctuation\">;</span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_48<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        pvVar3 <span class=\"token operator\">=</span> local_48<span class=\"token punctuation\">;</span>\n        core<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">,</span>local_48<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        puVar8 <span class=\"token operator\">=</span> local_60<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>local_68 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar8 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>pvVar3<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        local_58 <span class=\"token operator\">=</span> <span class=\"token number\">0x22</span><span class=\"token punctuation\">;</span>\n        uStack_54 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        uStack_50 <span class=\"token operator\">=</span> <span class=\"token number\">8</span><span class=\"token punctuation\">;</span>\n        uStack_4c <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        local_68 <span class=\"token operator\">=</span> puVar11<span class=\"token punctuation\">;</span>\n        local_60 <span class=\"token operator\">=</span> puVar1<span class=\"token punctuation\">;</span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_48<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        core<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>local_68<span class=\"token punctuation\">,</span>local_48<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        puVar11 <span class=\"token operator\">=</span> local_60<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>local_68 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          puVar11 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>local_48<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar10<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x8b228bf35f6a</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar8 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar10<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0xe78241</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar11 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar8<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0xfa4c1a9f</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar11<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x8b238557f7c8</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>puVar8 <span class=\"token operator\">^</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>puVar10 <span class=\"token operator\">^</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>puVar11<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0xf9686f4d</span><span class=\"token punctuation\">;</span>\n          <span class=\"token punctuation\">}</span>\n          <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      uVar6 <span class=\"token operator\">=</span> bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x1f</span><span class=\"token punctuation\">;</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> uVar9<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">goto</span> LAB_0016048a<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar9 <span class=\"token operator\">=</span> uVar9 <span class=\"token operator\">|</span> uVar6 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">goto</span> LAB_0016048a<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      uVar9 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar4 <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar9 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>bVar2 <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar9 <span class=\"token operator\">!=</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_0016048a<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\nLAB_0016045f<span class=\"token operator\">:</span>\n    ppuVar7 <span class=\"token operator\">=</span> <span class=\"token operator\">&amp;</span>PTR_s_src<span class=\"token operator\">/</span>main<span class=\"token punctuation\">.</span><span class=\"token function\">rsgetrandom_getrandom</span><span class=\"token punctuation\">(</span>_00725148<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\nLAB_0016046d<span class=\"token operator\">:</span>\n  core<span class=\"token operator\">::</span>panicking<span class=\"token operator\">::</span><span class=\"token function\">panic</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>DAT_0048e6b0<span class=\"token punctuation\">,</span><span class=\"token number\">0x2b</span><span class=\"token punctuation\">,</span>ppuVar7<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">invalidInstructionException</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span><span class=\"token punctuation\">(</span> true <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>For this kind of pattern, I think you could recover the flag by describing the constraints in Z3Py, but I could not quite write an appropriate script.</p>\n<p>In cases like this, it is better to patiently read through the logic.</p>\n<p>First, in the following snippet, I investigated with GDB and found that <code class=\"language-text\">rdi + 0x90</code> stores the length of the input string.</p>\n<p>In other words, the flag string length must be <code class=\"language-text\">0x2b</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>rdi <span class=\"token operator\">+</span> <span class=\"token number\">0x90</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0x2b</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Next, consider the following snippet.</p>\n<p><code class=\"language-text\">rdi + 0x80</code> stored the input string.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">input <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>rdi <span class=\"token operator\">+</span> <span class=\"token number\">0x80</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">^</span> <span class=\"token number\">0x7b4e4f43</span> <span class=\"token operator\">|</span> <span class=\"token operator\">*</span>input <span class=\"token operator\">^</span> <span class=\"token number\">0x43434553</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input <span class=\"token operator\">+</span> <span class=\"token number\">0x2a</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token number\">0x7d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Here, it appears to compare the beginning and end of the input string against hard-coded values.</p>\n<p>As shown below, these values correspond to the flag prefix, so this section is checking the flag format.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 218px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a10ea0b26e7f8c72184463dc72cec699/5c416/image-20230819224718006.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 163.76146788990823%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAhCAYAAADZPosTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEEUlEQVRIx41WaVdTVxSlVlGLVLTVOhHDFDKTgcwkZCSQAUkgQEMCQQaBBUqpurps/e27Zx/zslhL8uKHm/vey33nnrPP3vu+ofR4CI1wGRuhEmJPPHgzV8C78i62olWcru7j/cYx9jINfJD5TO4LU3G47ryGf2QGvl+mvxtDaUsI9eAyaoEior+5seZbwl52E38m1tAIlbGb3kB7cR3rwRXdhAm4h603BtOAgQc2tFLrGmju/hScP49jduglHLfG4bptkesXsP/0Sgefee9O6otce2NA7rb4ah4Lz3zwDE/Ae+/bC+47VsSfeBEac+jz0CMn4k/nEPx1tm8wDVi0JbUsjuTzgJS3gS/7Vzh78xYX9SP8d/gRV9tn+PL2Cn9tnYLrXbdNMIxJFqvePEqOtOxuR+pFAPnJGLKvI8hPxJCTobM1qg3heu/dif4ZcqejlTYqrkwXQ0sPQ7vMBoac+dxoSF8MiYli+NwPvzQo9rsHWWtEM6m4slixLwoUfixLqVV3VnH1mGXIhZ3cFvbz2xq0I5T59+Bv5R95R+w+t98Lfic4rx+iOLNgjmFYusdMiA8pdP1Pdvj6/fxDO4KjA7rMP2v+IlIvg0oZYqick8FMFEu9tuj9QB6yTDaE+EQeu1ESzNpCIUMxB8UmNiMV7Ir8CE3GElaO+kb6ZEg6UFLbsVVtCHV9Ut3Tl1upuur6uNRWbMnVrKw3DUicmAHBJoaUnr1LG75IqhjSc0rZhpL6lkwK5CaiiIgx8Joy8wjXiCU3YzeJHReHH7t0U9OmFKYS2EnW1VEWnvnRFJf51LrQMs9rB/inc6kU+tB4p1IcSJuEmAJpU3IsakbMVgk9m1JSl50ZVKRhhcm4SlBNxIzYgVEbDpd3tCnfSU9ws3Ul57j1jTraEDMM+UPTJH24iFkm/vApiZemE2oSUek+pUj7Gig9ltbJbSpNkuI0nL8efVLMzmuHek3pfT3+rM8G2ldEOrfqySte7CDNglnOP3ToGWNcc52R+dw9ky7T246WW8pF4kOc7F3MDAszZmJqlNsXQ2JSEKxIH9o8zZWHE6EghXaSNZXhwVJT5570+vMwrhLjiwSdQS4FK5Wb4Hm5eSLWttWTIDc0PUYDglnVnVMD9XVVYZx4lBlLNxyI5Rql9i15dtiiu9K+3LIzy2EABvU/mOnJkYu5ATMzlV56KqplNhfWtORGuKL0YLmn1Q4+Ns+V+HTsC3FsctNceuMBrMnnB+UVfuTSZrApbADpRDsrO9P6PzfjUWtkfDNtRqf1M4OaNb4cjK8Elq+21YWA80D7ct63IiPSiz/19jAyBhdcvzeemWK45ErJudxSnNgYT58PoetBTAP6xmzgyRcacw5c/CNjyD0yqaVyDOLYj4z/AYRL5WCs7Cz7AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/a10ea0b26e7f8c72184463dc72cec699/3e363/image-20230819224718006.webp 218w\"\n              sizes=\"(max-width: 218px) 100vw, 218px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/a10ea0b26e7f8c72184463dc72cec699/5c416/image-20230819224718006.png 218w\"\n            sizes=\"(max-width: 218px) 100vw, 218px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/a10ea0b26e7f8c72184463dc72cec699/5c416/image-20230819224718006.png\"\n            alt=\"image-20230819224718006\"\n            title=\"image-20230819224718006\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Next, this part is a little long, but let us go through it.</p>\n<p>The region after <code class=\"language-text\">input + 0x2b</code> should not contain any meaningful values yet, so I renamed it to <code class=\"language-text\">buf</code>.</p>\n<p>Inside the <code class=\"language-text\">do-while</code> loop, it performs various operations while decrementing <code class=\"language-text\">i</code>, which starts at <code class=\"language-text\">0x13</code>.</p>\n<p>However, if you look closely, every byte of the input string is always greater than 0, so the code inside <code class=\"language-text\">if ((char)c &lt; 0x0)</code> never runs. The loop simply increments <code class=\"language-text\">input_ptr</code> <code class=\"language-text\">0x13</code> times and then ends.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">buf <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input <span class=\"token operator\">+</span> <span class=\"token number\">0x2b</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ni <span class=\"token operator\">=</span> <span class=\"token number\">0x13</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>input_ptr <span class=\"token operator\">==</span> buf<span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> FAIL<span class=\"token punctuation\">;</span>\n    c <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span>\n                    <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span>\n                    <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span>\n            <span class=\"token keyword\">goto</span> FAIL<span class=\"token punctuation\">;</span>\n            input_ptr <span class=\"token operator\">=</span> input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    i <span class=\"token operator\">=</span> i <span class=\"token operator\">+</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Let us continue following the logic.</p>\n<p>In the next lines, it extracts the character from <code class=\"language-text\">input_ptr</code> after advancing by <code class=\"language-text\">0x13</code>, stores it in <code class=\"language-text\">i_x13</code>, and compares it. Since this value also never becomes less than 0, in practice it is only checking whether <code class=\"language-text\">i_x13</code> equals <code class=\"language-text\">0x2d</code> (<code class=\"language-text\">-</code>).</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">c <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\ni_x13 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint<span class=\"token punctuation\">)</span>c<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>c <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    uVar2 <span class=\"token operator\">=</span> c <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x1f</span><span class=\"token punctuation\">;</span>\n    uVar5 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar5 <span class=\"token operator\">=</span> uVar2 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> uVar5<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        uVar5 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar5 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar5 <span class=\"token operator\">=</span> uVar5 <span class=\"token operator\">|</span> uVar2 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        uVar5 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span> uVar5 <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>uVar5 <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> FAIL<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>i_x13 <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Let us continue with the following logic.</p>\n<p>Here, it resets <code class=\"language-text\">input_ptr</code> back to the beginning of the input string.</p>\n<p>Although various operations are defined inside the <code class=\"language-text\">do-while</code> loop, the input characters still never become less than 0 here, so it effectively just advances the index to <code class=\"language-text\">0x1a</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">i <span class=\"token operator\">=</span> <span class=\"token number\">0x1a</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>input_ptr <span class=\"token operator\">==</span> buf<span class=\"token punctuation\">)</span> <span class=\"token keyword\">goto</span> LAB_5555555b436f<span class=\"token punctuation\">;</span>\nc <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>c <span class=\"token operator\">&lt;</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xe0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&lt;</span> <span class=\"token number\">0xf0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span> <span class=\"token operator\">|</span>\n            <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">6</span> <span class=\"token operator\">|</span>\n            <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0x3f</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xc</span> <span class=\"token operator\">|</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">&amp;</span> <span class=\"token number\">7</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0x12</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0x110000</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">goto</span> LAB_5555555b436f<span class=\"token punctuation\">;</span>\n    input_ptr <span class=\"token operator\">=</span> input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\ni <span class=\"token operator\">=</span> i <span class=\"token operator\">+</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>The pattern should be clear by now.</p>\n<p>Including the logic so far, if we remove the lines that can be ignored, the code looks like this.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">buf <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input <span class=\"token operator\">+</span> <span class=\"token number\">0x2b</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\ni <span class=\"token operator\">=</span> <span class=\"token number\">0x13</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nc <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\ni <span class=\"token operator\">=</span> <span class=\"token number\">0x1a</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nc <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\ni <span class=\"token operator\">=</span> <span class=\"token number\">0x21</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nc <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span>input_ptr<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>c <span class=\"token operator\">!=</span> <span class=\"token number\">0x2d</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>In other words, these 176 lines of code are simply checking the flag prefix and whether the characters at specific positions are <code class=\"language-text\">-</code>.</p>\n<p>Now that we have read this far, let us look at the second half of the code.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">A <span class=\"token operator\">=</span> <span class=\"token number\">7</span><span class=\"token punctuation\">;</span>\nB <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\nC <span class=\"token operator\">=</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\nD <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\ninput_ptr2 <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nbuf2 <span class=\"token operator\">=</span> buf<span class=\"token punctuation\">;</span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_arr<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\ninput_arr_ptr <span class=\"token operator\">=</span> input_arr<span class=\"token punctuation\">;</span>\ncore<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">,</span>input_arr<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> buf2<span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>input_ptr2 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>input_arr_ptr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Ghidra’s decompilation did not seem to recover the arguments correctly, but it is calling the <code class=\"language-text\">from_iter</code> function.</p>\n<p>After checking the actual behavior in GDB, it turned out to create a collection by extracting a 12-character substring starting at index 7.</p>\n<p>In other words, it extracts the substring between <code class=\"language-text\">SECCON{</code> and the first <code class=\"language-text\">-</code>.</p>\n<p>It then uses <code class=\"language-text\">from_str_radix</code> to convert that string to a number.</p>\n<p>Reference: <a href=\"https://docs.rs/from_iter/latest/from_iter/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">from_iter - Rust</a></p>\n<p>Reference: <a href=\"https://zenn.dev/tipstar0125/articles/b4a799bbd64157\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rust: Convert a base-n string to a number</a></p>\n<p>Reference: <a href=\"https://doc.rust-lang.org/std/primitive.u64.html#method.from_str_radix\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">u64 - Rust</a></p>\n<p>At that point, I expected the later patterns to be the same.</p>\n<p>When I actually lined up the decompiled output below, it became clear that the program extracts each hyphen-separated segment of a flag in the format <code class=\"language-text\">SECCON{ABCDEFGHIJKL-NOPQRS-UVWXYZ-bcdefghi}</code> and converts each segment to a number.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">A <span class=\"token operator\">=</span> <span class=\"token number\">7</span><span class=\"token punctuation\">;</span>\nB <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\nC <span class=\"token operator\">=</span> <span class=\"token number\">0xc</span><span class=\"token punctuation\">;</span>\nD <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\ninput_ptr2 <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nbuf2 <span class=\"token operator\">=</span> buf<span class=\"token punctuation\">;</span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_arr<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput_arr_ptr <span class=\"token operator\">=</span> input_arr<span class=\"token punctuation\">;</span>\ncore<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">,</span>input_arr<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput_ptr <span class=\"token operator\">=</span> buf2<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>input_ptr2 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    input_ptr <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>input_arr_ptr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\nA <span class=\"token operator\">=</span> <span class=\"token number\">0x14</span><span class=\"token punctuation\">;</span>\nB <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\nC <span class=\"token operator\">=</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\nD <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\ninput_ptr2 <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nbuf2 <span class=\"token operator\">=</span> buf<span class=\"token punctuation\">;</span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_arr<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput_arr_ptr <span class=\"token operator\">=</span> input_arr<span class=\"token punctuation\">;</span>\ncore<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">,</span>input_arr<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\npuVar5 <span class=\"token operator\">=</span> buf2<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>input_ptr2 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    puVar5 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>input_arr_ptr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\nA <span class=\"token operator\">=</span> <span class=\"token number\">0x1b</span><span class=\"token punctuation\">;</span>\nB <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\nC <span class=\"token operator\">=</span> <span class=\"token number\">6</span><span class=\"token punctuation\">;</span>\nD <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\ninput_ptr2 <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nbuf2 <span class=\"token operator\">=</span> buf<span class=\"token punctuation\">;</span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_arr<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput_arr_ptr <span class=\"token operator\">=</span> input_arr<span class=\"token punctuation\">;</span>\ncore<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">,</span>input_arr<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\npuVar3 <span class=\"token operator\">=</span> buf2<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>input_ptr2 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    puVar3 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>input_arr_ptr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\nA <span class=\"token operator\">=</span> <span class=\"token number\">0x22</span><span class=\"token punctuation\">;</span>\nB <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\nC <span class=\"token operator\">=</span> <span class=\"token number\">8</span><span class=\"token punctuation\">;</span>\nD <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\ninput_ptr2 <span class=\"token operator\">=</span> input<span class=\"token punctuation\">;</span>\nbuf2 <span class=\"token operator\">=</span> buf<span class=\"token punctuation\">;</span>\n<span class=\"token operator\">&lt;</span><span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_iter</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_arr<span class=\"token punctuation\">,</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ncore<span class=\"token operator\">::</span>num<span class=\"token operator\">::</span><span class=\"token operator\">&lt;</span>impl_u64<span class=\"token operator\">></span><span class=\"token operator\">::</span><span class=\"token function\">from_str_radix</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span>input_ptr2<span class=\"token punctuation\">,</span>input_arr<span class=\"token punctuation\">,</span>local_38<span class=\"token punctuation\">,</span><span class=\"token number\">0x10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ninput <span class=\"token operator\">=</span> buf2<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span><span class=\"token punctuation\">)</span>input_ptr2 <span class=\"token operator\">!=</span> <span class=\"token char\">'\\0'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    input <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>uint <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_40 <span class=\"token operator\">!=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">__rust_dealloc</span><span class=\"token punctuation\">(</span>input_arr<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>In other words, despite how complicated this code looks, almost all of the actual flag validation comes down to the following part.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar5<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x8b228bf35f6a</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar3 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar5<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0xe78241</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>puVar3<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0xfa4c1a9f</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input_ptr <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>input<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x8b238557f7c8</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>puVar3 <span class=\"token operator\">^</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>puVar5 <span class=\"token operator\">^</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>input<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0xf9686f4d</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">return</span> false<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>However, because I had renamed variables rather roughly in Ghidra, it became hard to tell what this code was doing.</p>\n<p>The result decompiled in IDA looked like this.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span> v21 <span class=\"token operator\">+</span> v24 <span class=\"token operator\">==</span> <span class=\"token number\">0x8B228BF35F6ALL</span>\n<span class=\"token operator\">&amp;&amp;</span> v24 <span class=\"token operator\">+</span> v26 <span class=\"token operator\">==</span> <span class=\"token number\">15172161</span>\n<span class=\"token operator\">&amp;&amp;</span> v28 <span class=\"token operator\">+</span> v26 <span class=\"token operator\">==</span> <span class=\"token number\">4199291551LL</span>\n<span class=\"token operator\">&amp;&amp;</span> v28 <span class=\"token operator\">+</span> v21 <span class=\"token operator\">==</span> <span class=\"token number\">0x8B238557F7C8LL</span> <span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>v28 <span class=\"token operator\">^</span> v24 <span class=\"token operator\">^</span> v26<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">4184371021LL</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Using these as constraints, I created the following solver.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">from</span> z3 <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\n\ns <span class=\"token operator\">=</span> Solver<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\ni1 <span class=\"token operator\">=</span> BitVec<span class=\"token punctuation\">(</span><span class=\"token string\">'i1'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">64</span><span class=\"token punctuation\">)</span>\ni2 <span class=\"token operator\">=</span> BitVec<span class=\"token punctuation\">(</span><span class=\"token string\">'i2'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">64</span><span class=\"token punctuation\">)</span>\ni3 <span class=\"token operator\">=</span> BitVec<span class=\"token punctuation\">(</span><span class=\"token string\">'i3'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">64</span><span class=\"token punctuation\">)</span>\ni4 <span class=\"token operator\">=</span> BitVec<span class=\"token punctuation\">(</span><span class=\"token string\">'i4'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">64</span><span class=\"token punctuation\">)</span>\n\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>i1 <span class=\"token operator\">+</span> i2 <span class=\"token operator\">==</span> <span class=\"token number\">0x8b228bf35f6a</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>i2 <span class=\"token operator\">+</span> i3 <span class=\"token operator\">==</span> <span class=\"token number\">0xe78241</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>i4 <span class=\"token operator\">+</span> i3 <span class=\"token operator\">==</span> <span class=\"token number\">0xfa4c1a9f</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>i4 <span class=\"token operator\">+</span> i1 <span class=\"token operator\">==</span> <span class=\"token number\">0x8B238557F7C8</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>i4 <span class=\"token operator\">^</span> i2 <span class=\"token operator\">^</span> i3 <span class=\"token operator\">==</span> <span class=\"token number\">0xf9686f4d</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">if</span> s<span class=\"token punctuation\">.</span>check<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> sat<span class=\"token punctuation\">:</span>\n    model <span class=\"token operator\">=</span> s<span class=\"token punctuation\">.</span>model<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    parts <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token string-interpolation\"><span class=\"token string\">f\"</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>model<span class=\"token punctuation\">[</span>key<span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span>as_long<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span><span class=\"token format-spec\">x</span><span class=\"token punctuation\">}</span></span><span class=\"token string\">\"</span></span><span class=\"token keyword\">for</span> key <span class=\"token keyword\">in</span> <span class=\"token punctuation\">[</span>i1<span class=\"token punctuation\">,</span> i2<span class=\"token punctuation\">,</span> i3<span class=\"token punctuation\">,</span> i4<span class=\"token punctuation\">]</span><span class=\"token punctuation\">]</span>\n    flag <span class=\"token operator\">=</span> <span class=\"token string\">\"SECCON{\"</span> <span class=\"token operator\">+</span> <span class=\"token string\">\"-\"</span><span class=\"token punctuation\">.</span>join<span class=\"token punctuation\">(</span>parts<span class=\"token punctuation\">)</span> <span class=\"token operator\">+</span> <span class=\"token string\">\"}\"</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"unsat\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Running the script above yields the correct flag and also passes the program’s verification.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 804px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/baacfbb0c7680dc68248fc90c5e0ef92/27b7a/image-20230820122416629.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 49.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACTUlEQVQoz1VRS28SYRSdH0Bc0PCeB8jbMjADw/AoDAVKwqMIaFukQKTdaNJFN6a46qprk7J0YWJiuvCRWmuL2Bh/hQtX+k+Odz7ahYuT+/juPfee+3Fvzz7i08UV3px9wOuz93h3fokv198ZLuc3OL+c4+J6gYurBfPN3Oev3xjucibmNz9xtfgBzukRIHncOHrYxqvtLbzYqKK92cJmq4lqtYLRcJf8ZTzcHWCDcv2dbWw9foRGvY4n/T66nQ5EgYfL5QTn4EUEBQG/T06AZ8/x5+AA0+kUm+029vf3YRglBAJBPJ1MwFNdoVBAt9eDUSrhdDZDLCbjiOqDoRCczlvCkCTh13gMHB7i7+kML6lghyZPiKTRaEBVVezt7SEej6NcLmMwGKBNA4+Pj8FxHEajEaLRKBwOBzgXL0Fwu9FbW8OEJHRzOZQMg+RWsb6+juFwiBZJrtVqGNPQSqWCOtU1m00oikLbB9ggURThJh6OF30QSL+V2O+trDBrTlohP51OM5gNJvL5PIttNhusViuT6PF4GJEJJlnVMtD1NIxiEXnarkCbmluU6Ea6rjO5mqYxokgkwvLZbBZ+v5/lzPci9YbDYVgsFnCrcRXJpEoPSbJJKFQg0zayHGfWjDudLvukFBGbuZgsI5FQWI9JqCgqUikNCToBJ3p98Ik8vJIAr7jEWi5D22bIZpFJayjkc9C1FPLZDEO5ZLAa713fba9Ep+Ps92XYpQjs3ugS5HujSfhWNfgepCCGFQihBASyUkSFRG9+WWf+f323+Ad3wGdNqMX3awAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/baacfbb0c7680dc68248fc90c5e0ef92/8ac56/image-20230820122416629.webp 240w,\n/static/baacfbb0c7680dc68248fc90c5e0ef92/d3be9/image-20230820122416629.webp 480w,\n/static/baacfbb0c7680dc68248fc90c5e0ef92/95e88/image-20230820122416629.webp 804w\"\n              sizes=\"(max-width: 804px) 100vw, 804px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/baacfbb0c7680dc68248fc90c5e0ef92/8ff5a/image-20230820122416629.png 240w,\n/static/baacfbb0c7680dc68248fc90c5e0ef92/e85cb/image-20230820122416629.png 480w,\n/static/baacfbb0c7680dc68248fc90c5e0ef92/27b7a/image-20230820122416629.png 804w\"\n            sizes=\"(max-width: 804px) 100vw, 804px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/baacfbb0c7680dc68248fc90c5e0ef92/27b7a/image-20230820122416629.png\"\n            alt=\"image-20230820122416629\"\n            title=\"image-20230820122416629\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"devil-hunterrev\" style=\"position:relative;\"><a href=\"#devil-hunterrev\" aria-label=\"devil hunterrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Devil Hunter(Rev)</h2>\n<blockquote>\n<p>Clam Devil; Asari no Akuma</p>\n</blockquote>\n<p>The challenge provides the following shell script and CBC file.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token shebang important\">#!/bin/sh</span>\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">[</span> -z <span class=\"token string\">\"<span class=\"token variable\">$1</span>\"</span> <span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">then</span>\n    <span class=\"token builtin class-name\">echo</span> <span class=\"token string\">\"[+] <span class=\"token variable\">${0}</span> &lt;flag.txt>\"</span>\n    <span class=\"token builtin class-name\">exit</span> <span class=\"token number\">1</span>\n<span class=\"token keyword\">else</span>\n    clamscan --bytecode-unsigned<span class=\"token operator\">=</span>yes --quiet -dflag.cbc <span class=\"token string\">\"<span class=\"token variable\">$1</span>\"</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">[</span> <span class=\"token variable\">$?</span> -eq <span class=\"token number\">1</span> <span class=\"token punctuation\">]</span>\n    <span class=\"token keyword\">then</span>\n        <span class=\"token builtin class-name\">echo</span> <span class=\"token string\">\"Correct!\"</span>\n    <span class=\"token keyword\">else</span>\n        <span class=\"token builtin class-name\">echo</span> <span class=\"token string\">\"Wrong...\"</span>\n    <span class=\"token keyword\">fi</span>\n<span class=\"token keyword\">fi</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">ClamBCafhaio<span class=\"token variable\"><span class=\"token variable\">`</span>lfcf<span class=\"token operator\">|</span>aa<span class=\"token variable\">`</span></span>`<span class=\"token variable\"><span class=\"token variable\">`</span>c<span class=\"token variable\">`</span></span><span class=\"token variable\"><span class=\"token variable\">`</span>a<span class=\"token variable\">`</span></span>`<span class=\"token variable\"><span class=\"token variable\">`</span><span class=\"token operator\">|</span>ah<span class=\"token variable\">`</span></span>cnbac<span class=\"token variable\"><span class=\"token variable\">`</span>cecnb<span class=\"token variable\">`</span></span>c`<span class=\"token variable\"><span class=\"token variable\">`</span>beaacp<span class=\"token variable\">`</span></span>clamcoincidencejb:4096\nSeccon.Reversing.<span class=\"token punctuation\">{</span>FLAG<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>Engine:56-255,Target:0<span class=\"token punctuation\">;</span><span class=\"token number\">0</span><span class=\"token punctuation\">;</span><span class=\"token number\">0</span>:534543434f4e7b\nTeddaaahdabahdacahdadahdaeahdafahdagahebdeebaddbdbahebndebceaacb<span class=\"token variable\"><span class=\"token variable\">`</span>bbadb<span class=\"token variable\">`</span></span>baacb<span class=\"token variable\"><span class=\"token variable\">`</span>bb<span class=\"token variable\">`</span></span>bb<span class=\"token variable\"><span class=\"token variable\">`</span>bdaib<span class=\"token variable\">`</span></span>bdbfaah\nEaeacabbae<span class=\"token operator\">|</span>aebgefafdf`<span class=\"token variable\"><span class=\"token variable\">`</span>adbbe<span class=\"token operator\">|</span>aecgefefkf<span class=\"token variable\">`</span></span><span class=\"token variable\"><span class=\"token variable\">`</span>aebae<span class=\"token operator\">|</span>amcgefdgfgifbgegcgnfafmfef<span class=\"token variable\">`</span></span><span class=\"token variable\"><span class=\"token variable\">`</span>\nG<span class=\"token variable\">`</span></span>ad<span class=\"token variable\"><span class=\"token variable\">`</span>@<span class=\"token variable\">`</span></span>bdeBceBefBcfBcfBofBnfBnbBbeBefBfgBefBbgBcgBifBnfBgfBnbBfdBldBadBgd@<span class=\"token variable\"><span class=\"token variable\">`</span>bad@Aa<span class=\"token variable\">`</span></span>bad@Aa<span class=\"token variable\"><span class=\"token variable\">`</span>\nA<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bLabaa<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>Faeac\nBaa`<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>abTaa<span class=\"token variable\"><span class=\"token variable\">`</span>aaab\nBb<span class=\"token variable\">`</span></span>baaabbaeAc<span class=\"token variable\"><span class=\"token variable\">`</span>BeadTbaab\nBTcab<span class=\"token variable\">`</span></span>b@dE\nA<span class=\"token variable\"><span class=\"token variable\">`</span>aaLbhfb<span class=\"token variable\">`</span></span>dab<span class=\"token variable\"><span class=\"token variable\">`</span>dab<span class=\"token variable\">`</span></span>daahabndabad<span class=\"token variable\"><span class=\"token variable\">`</span>bndabad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>ah<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>bad<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>bad<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>aa<span class=\"token variable\">`</span></span>Fbcgah\nBbadaedbbodad@dbadagdbbodaf@db<span class=\"token variable\"><span class=\"token variable\">`</span>bahabbadAgd@db<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bb@habTbaab\nBaaaiiab<span class=\"token variable\">`</span></span>dbbaBdbhb<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>bbbbaabTaaaiabac\nBb<span class=\"token variable\"><span class=\"token variable\">`</span>dajbbabajb<span class=\"token variable\">`</span></span>dakh<span class=\"token variable\"><span class=\"token variable\">`</span>ajB<span class=\"token variable\">`</span></span>bhb<span class=\"token variable\"><span class=\"token variable\">`</span>dalj<span class=\"token variable\">`</span></span>akB<span class=\"token variable\"><span class=\"token variable\">`</span>bhb<span class=\"token variable\">`</span></span>bamn<span class=\"token variable\"><span class=\"token variable\">`</span>albadandbbodad@dbadaocbbadanamb<span class=\"token variable\">`</span></span>bb<span class=\"token variable\"><span class=\"token variable\">`</span>aabbabaoAadaabaanab<span class=\"token variable\">`</span></span>bb<span class=\"token variable\"><span class=\"token variable\">`</span>aAadb<span class=\"token variable\">`</span></span>dbbaa<span class=\"token variable\"><span class=\"token variable\">`</span>ajAahb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bb@h<span class=\"token variable\">`</span></span>Taabaaagaa\nBb<span class=\"token variable\"><span class=\"token variable\">`</span>bbcaabbabacAadaabdakab<span class=\"token variable\">`</span></span>bbca@dahbeabbacbeaaabfaeaahbeaBmgaaabgak<span class=\"token variable\"><span class=\"token variable\">`</span>bdabfab<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bb@h<span class=\"token variable\">`</span></span>Taabgaadag\nBb<span class=\"token variable\"><span class=\"token variable\">`</span>bbhaabbabacAadaabiakab<span class=\"token variable\">`</span></span>bbha@db<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>bb@haab<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>bb@h<span class=\"token variable\"><span class=\"token variable\">`</span>Taabiaagae\nBb<span class=\"token variable\">`</span></span>dbjabbaabjab<span class=\"token variable\"><span class=\"token variable\">`</span>dbkah<span class=\"token variable\">`</span></span>bjaB<span class=\"token variable\"><span class=\"token variable\">`</span>bhb<span class=\"token variable\">`</span></span>dblaj<span class=\"token variable\"><span class=\"token variable\">`</span>bkaB<span class=\"token variable\">`</span></span>bhb<span class=\"token variable\"><span class=\"token variable\">`</span>bbman<span class=\"token variable\">`</span></span>blabadbnadbbodad@dbadboacbbadbnabmab<span class=\"token variable\"><span class=\"token variable\">`</span>bb<span class=\"token variable\">`</span></span>bgbboab<span class=\"token variable\"><span class=\"token variable\">`</span>bbab<span class=\"token variable\">`</span></span>baacb<span class=\"token variable\"><span class=\"token variable\">`</span>bb<span class=\"token variable\">`</span></span>dbbbh<span class=\"token variable\"><span class=\"token variable\">`</span>bjaBnahb<span class=\"token variable\">`</span></span>dbcbj<span class=\"token variable\"><span class=\"token variable\">`</span>bbbB<span class=\"token variable\">`</span></span>bhb<span class=\"token variable\"><span class=\"token variable\">`</span>bbdbn<span class=\"token variable\">`</span></span>bcbb<span class=\"token variable\"><span class=\"token variable\">`</span>bbebc<span class=\"token variable\">`</span></span>Add@dbadbfbcbbadagbebb<span class=\"token variable\"><span class=\"token variable\">`</span>bbgbc<span class=\"token variable\">`</span></span>Addbdbbadbhbcbbadbfbbgbb<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>fbbabbhbb<span class=\"token variable\"><span class=\"token variable\">`</span>dbiba<span class=\"token variable\">`</span></span>bjaAdhaabjbiab<span class=\"token variable\"><span class=\"token variable\">`</span>dbibBdbhb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bbbibaaTaabjbaeaf\nBb<span class=\"token variable\">`</span></span>bbkbgbagaablbeab<span class=\"token variable\"><span class=\"token variable\">`</span>bbkbHbj<span class=\"token variable\">`</span></span>hnicgdb<span class=\"token variable\"><span class=\"token variable\">`</span>bbmbc<span class=\"token variable\">`</span></span>Add@dbadbnbcbbadagbmbb<span class=\"token variable\"><span class=\"token variable\">`</span>bbobc<span class=\"token variable\">`</span></span>AddAadbadb<span class=\"token variable\"><span class=\"token variable\">`</span>ccbbadbnbbobb<span class=\"token variable\">`</span></span>bbacgbb<span class=\"token variable\"><span class=\"token variable\">`</span>caabbceab<span class=\"token variable\">`</span></span>bbacHcj<span class=\"token variable\"><span class=\"token variable\">`</span>hnjjcdaabcck<span class=\"token variable\">`</span></span>blbbbcb<span class=\"token variable\"><span class=\"token variable\">`</span>bbdcc<span class=\"token variable\">`</span></span>Add@dbadbeccbbadagbdcb<span class=\"token variable\"><span class=\"token variable\">`</span>bbfcc<span class=\"token variable\">`</span></span>AddAbdbadbgccbbadbecbfcb<span class=\"token variable\"><span class=\"token variable\">`</span>bbhcgbbgcaabiceab<span class=\"token variable\">`</span></span>bbhcHoigndjkcdaabjck<span class=\"token variable\"><span class=\"token variable\">`</span>bccbicb<span class=\"token variable\">`</span></span>bbkcc<span class=\"token variable\"><span class=\"token variable\">`</span>Add@dbadblccbbadagbkcb<span class=\"token variable\">`</span></span>bbmcc<span class=\"token variable\"><span class=\"token variable\">`</span>AddAcdbadbnccbbadblcbmcb<span class=\"token variable\">`</span></span>bbocgbbncaab<span class=\"token variable\"><span class=\"token variable\">`</span>deab<span class=\"token variable\">`</span></span>bbocHcoaljkhgdaabadk<span class=\"token variable\"><span class=\"token variable\">`</span>bjcb<span class=\"token variable\">`</span></span>db<span class=\"token variable\"><span class=\"token variable\">`</span>bbbdc<span class=\"token variable\">`</span></span>Add@dbadbcdcbbadagbbdb<span class=\"token variable\"><span class=\"token variable\">`</span>bbddc<span class=\"token variable\">`</span></span>AddAddbadbedcbbadbcdbddb<span class=\"token variable\"><span class=\"token variable\">`</span>bbfdgbbedaabgdeab<span class=\"token variable\">`</span></span>bbfdHcoalionedaabhdk<span class=\"token variable\"><span class=\"token variable\">`</span>badbgdb<span class=\"token variable\">`</span></span>bbidc<span class=\"token variable\"><span class=\"token variable\">`</span>Add@dbadbjdcbbadagbidb<span class=\"token variable\">`</span></span>bbkdc<span class=\"token variable\"><span class=\"token variable\">`</span>AddAedbadbldcbbadbjdbkdb<span class=\"token variable\">`</span></span>bbmdgbbldaabndeab<span class=\"token variable\"><span class=\"token variable\">`</span>bbmdHoilnikkcdaabodk<span class=\"token variable\">`</span></span>bhdbndb<span class=\"token variable\"><span class=\"token variable\">`</span>bb<span class=\"token variable\">`</span></span>ec<span class=\"token variable\"><span class=\"token variable\">`</span>Add@dbadbaecbbadagb<span class=\"token variable\">`</span></span>eb<span class=\"token variable\"><span class=\"token variable\">`</span>bbbec<span class=\"token variable\">`</span></span>AddAfdbadbcecbbadbaebbeb<span class=\"token variable\"><span class=\"token variable\">`</span>bbdegbbceaabeeeab<span class=\"token variable\">`</span></span>bbdeHdochfheedaabfek<span class=\"token variable\"><span class=\"token variable\">`</span>bodbeeb<span class=\"token variable\">`</span></span>bbgec<span class=\"token variable\"><span class=\"token variable\">`</span>Add@dbadbhecbbadagbgeb<span class=\"token variable\">`</span></span>bbiec<span class=\"token variable\"><span class=\"token variable\">`</span>AddAgdbadbjecbbadbhebieb<span class=\"token variable\">`</span></span>bbkegbbjeaableeab<span class=\"token variable\"><span class=\"token variable\">`</span>bbkeHdiemjoeedaabmek<span class=\"token variable\">`</span></span>bfebleb<span class=\"token variable\"><span class=\"token variable\">`</span>bbnec<span class=\"token variable\">`</span></span>Add@dbadboecbbadagbneb<span class=\"token variable\"><span class=\"token variable\">`</span>bb<span class=\"token variable\">`</span></span>fc<span class=\"token variable\"><span class=\"token variable\">`</span>AddAhdbadbafcbbadboeb<span class=\"token variable\">`</span></span>fb<span class=\"token variable\"><span class=\"token variable\">`</span>bbbfgbbafaabcfeab<span class=\"token variable\">`</span></span>bbbfHoimmoklfdaabdfk<span class=\"token variable\"><span class=\"token variable\">`</span>bmebcfb<span class=\"token variable\">`</span></span>dbefo<span class=\"token variable\"><span class=\"token variable\">`</span>bdfb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bbbef<span class=\"token variable\">`</span></span>Tbaag\nBb<span class=\"token variable\"><span class=\"token variable\">`</span>dbffbb<span class=\"token variable\">`</span></span>bffaabgfn<span class=\"token variable\"><span class=\"token variable\">`</span>bffTcaaabgfE\nAab<span class=\"token variable\">`</span></span>bLbaab<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>dab<span class=\"token variable\">`</span></span>dab<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>b<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>aa<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>b<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>Fbfaac\nBb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bb@habb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bbG<span class=\"token variable\">`</span></span>lckjljhaaTbaaa\nBb<span class=\"token variable\"><span class=\"token variable\">`</span>dacbbaaacb<span class=\"token variable\">`</span></span>dadbbabadb<span class=\"token variable\"><span class=\"token variable\">`</span>baen<span class=\"token variable\">`</span></span>acb<span class=\"token variable\"><span class=\"token variable\">`</span>bafn<span class=\"token variable\">`</span></span>adb<span class=\"token variable\"><span class=\"token variable\">`</span>bagh<span class=\"token variable\">`</span></span>afAcdb<span class=\"token variable\"><span class=\"token variable\">`</span>bahi<span class=\"token variable\">`</span></span><span class=\"token variable\"><span class=\"token variable\">`</span>agb<span class=\"token variable\">`</span></span>baik<span class=\"token variable\"><span class=\"token variable\">`</span>ahBoodb<span class=\"token variable\">`</span></span>bajm<span class=\"token variable\"><span class=\"token variable\">`</span>aiaeb<span class=\"token variable\">`</span></span>bakh<span class=\"token variable\"><span class=\"token variable\">`</span>ajAhdb<span class=\"token variable\">`</span></span>bali<span class=\"token variable\"><span class=\"token variable\">`</span>aeBhadb<span class=\"token variable\">`</span></span>baml<span class=\"token variable\"><span class=\"token variable\">`</span>akalb<span class=\"token variable\">`</span></span>bana<span class=\"token variable\"><span class=\"token variable\">`</span>afAadaaaoeab<span class=\"token variable\">`</span></span>banAddb<span class=\"token variable\"><span class=\"token variable\">`</span>db<span class=\"token variable\">`</span></span>ao<span class=\"token variable\"><span class=\"token variable\">`</span>anb<span class=\"token variable\">`</span></span>dbaao<span class=\"token variable\"><span class=\"token variable\">`</span>amb<span class=\"token variable\">`</span></span>d<span class=\"token variable\"><span class=\"token variable\">`</span>bbb<span class=\"token variable\">`</span></span>aabb<span class=\"token variable\"><span class=\"token variable\">`</span>d<span class=\"token variable\">`</span></span>bbbaaaaTaaaoabaa\nBTcab<span class=\"token variable\"><span class=\"token variable\">`</span>bamE\nSnfofdg<span class=\"token variable\">`</span></span>bcgof<span class=\"token variable\"><span class=\"token variable\">`</span>befafcgig<span class=\"token variable\">`</span></span>bjc<span class=\"token variable\"><span class=\"token variable\">`</span>ej<span class=\"token variable\">`</span></span></code></pre></div>\n<p>The CBC file appears to be a compiled ClamAV custom detection signature.</p>\n<p>Reference: <a href=\"https://docs.clamav.net/manual/Signatures/BytecodeSignatures.html?highlight=cbc#bytecode-signatures\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Bytecode Signatures - ClamAV Documentation</a></p>\n<p>This suggests that the flag should be a file that satisfies the detection condition when running <code class=\"language-text\">clamscan --bytecode-unsigned=yes --quiet -dflag.cbc flag.txt</code>.</p>\n<p>For CBC files, it seems that the <code class=\"language-text\">clambc</code> command can use the <code class=\"language-text\">--printsrc</code> and <code class=\"language-text\">--printbcir</code> options to obtain the original source or the disassembled intermediate representation.</p>\n<p>Reference: <a href=\"https://github.com/Cisco-Talos/clamav-bytecode-compiler/blob/main/docs/user/clambc-user.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">clamav-bytecode-compiler/docs/user/clambc-user.pdf at main · Cisco-Talos/clamav-bytecode-compiler · GitHub</a></p>\n<p>In this challenge, the <code class=\"language-text\">--printsrc</code> option did not work properly, so I used <code class=\"language-text\">--printbcir</code> to obtain the disassembly.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">clambc --printbcir flag.cbc <span class=\"token operator\">></span> decomp.txt</code></pre></div>\n<p>I did not fully understand how to read it at first, but it seems that each function is assigned a Function id and the output lists opcodes together with operands.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token comment\">########################################################################</span>\n<span class=\"token comment\">####################### Function id   0 ################################</span>\n<span class=\"token comment\">########################################################################</span>\nfound a total of <span class=\"token number\">4</span> globals\nGID  ID    VALUE\n------------------------------------------------------------------------\n  <span class=\"token number\">0</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>: i0 unknown\n  <span class=\"token number\">1</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">1</span><span class=\"token punctuation\">]</span>: <span class=\"token punctuation\">[</span><span class=\"token number\">22</span> x i8<span class=\"token punctuation\">]</span> unknown\n  <span class=\"token number\">2</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">2</span><span class=\"token punctuation\">]</span>: i8* unknown\n  <span class=\"token number\">3</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>: i8* unknown\n------------------------------------------------------------------------\nfound <span class=\"token number\">2</span> values with <span class=\"token number\">0</span> arguments and <span class=\"token number\">2</span> locals\nVID  ID    VALUE\n------------------------------------------------------------------------\n  <span class=\"token number\">0</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>: i1\n  <span class=\"token number\">1</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">1</span><span class=\"token punctuation\">]</span>: i32\n------------------------------------------------------------------------\nfound a total of <span class=\"token number\">2</span> constants\nCID  ID    VALUE\n------------------------------------------------------------------------\n  <span class=\"token number\">0</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">2</span><span class=\"token punctuation\">]</span>: <span class=\"token number\">21</span><span class=\"token punctuation\">(</span>0x15<span class=\"token punctuation\">)</span>\n  <span class=\"token number\">1</span> <span class=\"token punctuation\">[</span>  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>: <span class=\"token number\">0</span><span class=\"token punctuation\">(</span>0x0<span class=\"token punctuation\">)</span>\n------------------------------------------------------------------------\nfound a total of <span class=\"token number\">4</span> total values\n------------------------------------------------------------------------\nFUNCTION ID: F.0 -<span class=\"token operator\">></span> NUMINSTS <span class=\"token number\">5</span>\nBB   IDX  OPCODE              <span class=\"token punctuation\">[</span>ID /IID/MOD<span class=\"token punctuation\">]</span>  INST\n------------------------------------------------------------------------\n  <span class=\"token number\">0</span>    <span class=\"token number\">0</span>  OP_BC_CALL_DIRECT   <span class=\"token punctuation\">[</span><span class=\"token number\">32</span> /160/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">0</span> <span class=\"token operator\">=</span> call F.1 <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">0</span>    <span class=\"token number\">1</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">0</span> ? bb.1 <span class=\"token builtin class-name\">:</span> bb.2\n\n  <span class=\"token number\">1</span>    <span class=\"token number\">2</span>  OP_BC_CALL_API      <span class=\"token punctuation\">[</span><span class=\"token number\">33</span> /168/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">1</span> <span class=\"token operator\">=</span> setvirusname<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">(</span>p.-2147483645, <span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">1</span>    <span class=\"token number\">3</span>  OP_BC_JMP           <span class=\"token punctuation\">[</span><span class=\"token number\">18</span> / <span class=\"token number\">90</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  jmp bb.2\n\n  <span class=\"token number\">2</span>    <span class=\"token number\">4</span>  OP_BC_RET           <span class=\"token punctuation\">[</span><span class=\"token number\">19</span> / <span class=\"token number\">98</span>/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  ret <span class=\"token number\">3</span>\n------------------------------------------------------------------------\n<span class=\"token comment\">########################################################################</span></code></pre></div>\n<p>This is more of an educated guess, but it seems to first call <code class=\"language-text\">call F.1 ()</code> and then branch with <code class=\"language-text\">br 0 ? bb.1 : bb.2</code> depending on the result.</p>\n<p><code class=\"language-text\">bb</code> probably corresponds to the number in the leftmost column. If execution jumps to <code class=\"language-text\">bb.1</code>, it reaches <code class=\"language-text\">1 = setvirusname[4] (p.-2147483645, 2)</code>, which seems to register the file’s detection information.</p>\n<p>So it looks like we want the return value of <code class=\"language-text\">F.1</code> to be <code class=\"language-text\">0</code>.</p>\n<p>Next, let us look at function <code class=\"language-text\">F.1</code>.</p>\n<p>It is fairly long—about 100 lines—so I thought I might be able to brute-force my way through it, but I could not really understand how to read it.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">------------------------------------------------------------------------\nFUNCTION ID: F.1 -<span class=\"token operator\">></span> NUMINSTS <span class=\"token number\">115</span>\nBB   IDX  OPCODE              <span class=\"token punctuation\">[</span>ID /IID/MOD<span class=\"token punctuation\">]</span>  INST\n------------------------------------------------------------------------\n  <span class=\"token number\">0</span>    <span class=\"token number\">0</span>  OP_BC_GEPZ          <span class=\"token punctuation\">[</span><span class=\"token number\">36</span> /184/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">5</span> <span class=\"token operator\">=</span> gepz p.4 + <span class=\"token punctuation\">(</span><span class=\"token number\">104</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">0</span>    <span class=\"token number\">1</span>  OP_BC_GEPZ          <span class=\"token punctuation\">[</span><span class=\"token number\">36</span> /184/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">7</span> <span class=\"token operator\">=</span> gepz p.6 + <span class=\"token punctuation\">(</span><span class=\"token number\">105</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">0</span>    <span class=\"token number\">2</span>  OP_BC_CALL_API      <span class=\"token punctuation\">[</span><span class=\"token number\">33</span> /168/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">8</span> <span class=\"token operator\">=</span> seek<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">(</span><span class=\"token number\">106</span>, <span class=\"token number\">107</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">0</span>    <span class=\"token number\">3</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">108</span> -<span class=\"token operator\">></span> <span class=\"token number\">2</span>\n  <span class=\"token number\">0</span>    <span class=\"token number\">4</span>  OP_BC_JMP           <span class=\"token punctuation\">[</span><span class=\"token number\">18</span> / <span class=\"token number\">90</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  jmp bb.2\n\n  <span class=\"token number\">1</span>    <span class=\"token number\">5</span>  OP_BC_ICMP_ULT      <span class=\"token punctuation\">[</span><span class=\"token number\">25</span> /129/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">9</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">18</span> <span class=\"token operator\">&lt;</span> <span class=\"token number\">109</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">1</span>    <span class=\"token number\">6</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">18</span> -<span class=\"token operator\">></span> <span class=\"token number\">2</span>\n  <span class=\"token number\">1</span>    <span class=\"token number\">7</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">9</span> ? bb.2 <span class=\"token builtin class-name\">:</span> bb.3\n\n  <span class=\"token number\">2</span>    <span class=\"token number\">8</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">2</span> -<span class=\"token operator\">></span> <span class=\"token number\">10</span>\n  <span class=\"token number\">2</span>    <span class=\"token number\">9</span>  OP_BC_SHL           <span class=\"token punctuation\">[</span><span class=\"token number\">8</span>  / <span class=\"token number\">44</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">11</span> <span class=\"token operator\">=</span> <span class=\"token number\">10</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">110</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">10</span>  OP_BC_ASHR          <span class=\"token punctuation\">[</span><span class=\"token number\">10</span> / <span class=\"token number\">54</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">12</span> <span class=\"token operator\">=</span> <span class=\"token number\">11</span> <span class=\"token operator\">>></span> <span class=\"token number\">111</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">11</span>  OP_BC_TRUNC         <span class=\"token punctuation\">[</span><span class=\"token number\">14</span> / <span class=\"token number\">73</span>/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">13</span> <span class=\"token operator\">=</span> <span class=\"token number\">12</span> trunc ffffffffffffffff\n  <span class=\"token number\">2</span>   <span class=\"token number\">12</span>  OP_BC_GEPZ          <span class=\"token punctuation\">[</span><span class=\"token number\">36</span> /184/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">14</span> <span class=\"token operator\">=</span> gepz p.4 + <span class=\"token punctuation\">(</span><span class=\"token number\">112</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">13</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">15</span> <span class=\"token operator\">=</span> gep1 p.14 + <span class=\"token punctuation\">(</span><span class=\"token number\">13</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">14</span>  OP_BC_CALL_API      <span class=\"token punctuation\">[</span><span class=\"token number\">33</span> /168/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">16</span> <span class=\"token operator\">=</span> read<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">(</span>p.15, <span class=\"token number\">113</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">15</span>  OP_BC_ICMP_SLT      <span class=\"token punctuation\">[</span><span class=\"token number\">30</span> /153/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">17</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">16</span> <span class=\"token operator\">&lt;</span> <span class=\"token number\">114</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">16</span>  OP_BC_ADD           <span class=\"token punctuation\">[</span><span class=\"token number\">1</span>  /  <span class=\"token number\">9</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">18</span> <span class=\"token operator\">=</span> <span class=\"token number\">10</span> + <span class=\"token number\">115</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">17</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">116</span> -<span class=\"token operator\">></span> <span class=\"token number\">0</span>\n  <span class=\"token number\">2</span>   <span class=\"token number\">18</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">17</span> ? bb.7 <span class=\"token builtin class-name\">:</span> bb.1\n\n  <span class=\"token number\">3</span>   <span class=\"token number\">19</span>  OP_BC_CALL_API      <span class=\"token punctuation\">[</span><span class=\"token number\">33</span> /168/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">19</span> <span class=\"token operator\">=</span> read<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">(</span>p.3, <span class=\"token number\">117</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">20</span>  OP_BC_ICMP_SGT      <span class=\"token punctuation\">[</span><span class=\"token number\">27</span> /138/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">20</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">19</span> <span class=\"token operator\">></span> <span class=\"token number\">118</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">21</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /171/  <span class=\"token number\">1</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">3</span> -<span class=\"token operator\">></span> <span class=\"token number\">21</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">22</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /106/  <span class=\"token number\">1</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">22</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">21</span> <span class=\"token operator\">==</span> <span class=\"token number\">119</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">23</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">23</span> <span class=\"token operator\">=</span> <span class=\"token number\">20</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">22</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">24</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">120</span> -<span class=\"token operator\">></span> <span class=\"token number\">0</span>\n  <span class=\"token number\">3</span>   <span class=\"token number\">25</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">23</span> ? bb.4 <span class=\"token builtin class-name\">:</span> bb.7\n\n  <span class=\"token number\">4</span>   <span class=\"token number\">26</span>  OP_BC_CALL_API      <span class=\"token punctuation\">[</span><span class=\"token number\">33</span> /168/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">24</span> <span class=\"token operator\">=</span> read<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">(</span>p.3, <span class=\"token number\">121</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">4</span>   <span class=\"token number\">27</span>  OP_BC_ICMP_SGT      <span class=\"token punctuation\">[</span><span class=\"token number\">27</span> /138/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">25</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">24</span> <span class=\"token operator\">></span> <span class=\"token number\">122</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">4</span>   <span class=\"token number\">28</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">123</span> -<span class=\"token operator\">></span> <span class=\"token number\">1</span>\n  <span class=\"token number\">4</span>   <span class=\"token number\">29</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">124</span> -<span class=\"token operator\">></span> <span class=\"token number\">0</span>\n  <span class=\"token number\">4</span>   <span class=\"token number\">30</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">25</span> ? bb.7 <span class=\"token builtin class-name\">:</span> bb.5\n\n  <span class=\"token number\">5</span>   <span class=\"token number\">31</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">1</span> -<span class=\"token operator\">></span> <span class=\"token number\">26</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">32</span>  OP_BC_SHL           <span class=\"token punctuation\">[</span><span class=\"token number\">8</span>  / <span class=\"token number\">44</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">27</span> <span class=\"token operator\">=</span> <span class=\"token number\">26</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">125</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">33</span>  OP_BC_ASHR          <span class=\"token punctuation\">[</span><span class=\"token number\">10</span> / <span class=\"token number\">54</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">28</span> <span class=\"token operator\">=</span> <span class=\"token number\">27</span> <span class=\"token operator\">>></span> <span class=\"token number\">126</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">34</span>  OP_BC_TRUNC         <span class=\"token punctuation\">[</span><span class=\"token number\">14</span> / <span class=\"token number\">73</span>/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">29</span> <span class=\"token operator\">=</span> <span class=\"token number\">28</span> trunc ffffffffffffffff\n  <span class=\"token number\">5</span>   <span class=\"token number\">35</span>  OP_BC_GEPZ          <span class=\"token punctuation\">[</span><span class=\"token number\">36</span> /184/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">30</span> <span class=\"token operator\">=</span> gepz p.4 + <span class=\"token punctuation\">(</span><span class=\"token number\">127</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">36</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">31</span> <span class=\"token operator\">=</span> gep1 p.30 + <span class=\"token punctuation\">(</span><span class=\"token number\">29</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">37</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">32</span> <span class=\"token operator\">&lt;</span>- p.31\n  <span class=\"token number\">5</span>   <span class=\"token number\">38</span>  OP_BC_CALL_DIRECT   <span class=\"token punctuation\">[</span><span class=\"token number\">32</span> /163/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">33</span> <span class=\"token operator\">=</span> call F.2 <span class=\"token punctuation\">(</span><span class=\"token number\">32</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">39</span>  OP_BC_SHL           <span class=\"token punctuation\">[</span><span class=\"token number\">8</span>  / <span class=\"token number\">44</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">34</span> <span class=\"token operator\">=</span> <span class=\"token number\">26</span> <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">128</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">40</span>  OP_BC_ASHR          <span class=\"token punctuation\">[</span><span class=\"token number\">10</span> / <span class=\"token number\">54</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">35</span> <span class=\"token operator\">=</span> <span class=\"token number\">34</span> <span class=\"token operator\">>></span> <span class=\"token number\">129</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">41</span>  OP_BC_TRUNC         <span class=\"token punctuation\">[</span><span class=\"token number\">14</span> / <span class=\"token number\">73</span>/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">36</span> <span class=\"token operator\">=</span> <span class=\"token number\">35</span> trunc ffffffffffffffff\n  <span class=\"token number\">5</span>   <span class=\"token number\">42</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">37</span> <span class=\"token operator\">=</span> <span class=\"token number\">130</span> * <span class=\"token number\">131</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">43</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">38</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">37</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">44</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">39</span> <span class=\"token operator\">=</span> <span class=\"token number\">132</span> * <span class=\"token number\">36</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">45</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">40</span> <span class=\"token operator\">=</span> gep1 p.38 + <span class=\"token punctuation\">(</span><span class=\"token number\">39</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">46</span>  OP_BC_STORE         <span class=\"token punctuation\">[</span><span class=\"token number\">38</span> /193/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  store <span class=\"token number\">33</span> -<span class=\"token operator\">></span> p.40\n  <span class=\"token number\">5</span>   <span class=\"token number\">47</span>  OP_BC_ADD           <span class=\"token punctuation\">[</span><span class=\"token number\">1</span>  /  <span class=\"token number\">9</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">41</span> <span class=\"token operator\">=</span> <span class=\"token number\">26</span> + <span class=\"token number\">133</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">48</span>  OP_BC_ICMP_ULT      <span class=\"token punctuation\">[</span><span class=\"token number\">25</span> /129/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">42</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">41</span> <span class=\"token operator\">&lt;</span> <span class=\"token number\">134</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">49</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">41</span> -<span class=\"token operator\">></span> <span class=\"token number\">1</span>\n  <span class=\"token number\">5</span>   <span class=\"token number\">50</span>  OP_BC_BRANCH        <span class=\"token punctuation\">[</span><span class=\"token number\">17</span> / <span class=\"token number\">85</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  br <span class=\"token number\">42</span> ? bb.5 <span class=\"token builtin class-name\">:</span> bb.6\n\n  <span class=\"token number\">6</span>   <span class=\"token number\">51</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">43</span> <span class=\"token operator\">&lt;</span>- p.7\n  <span class=\"token number\">6</span>   <span class=\"token number\">52</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">44</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">43</span> <span class=\"token operator\">==</span> <span class=\"token number\">135</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">53</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">45</span> <span class=\"token operator\">=</span> <span class=\"token number\">136</span> * <span class=\"token number\">137</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">54</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">46</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">45</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">55</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">47</span> <span class=\"token operator\">=</span> <span class=\"token number\">138</span> * <span class=\"token number\">139</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">56</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">48</span> <span class=\"token operator\">=</span> gep1 p.46 + <span class=\"token punctuation\">(</span><span class=\"token number\">47</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">57</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">49</span> <span class=\"token operator\">&lt;</span>- p.48\n  <span class=\"token number\">6</span>   <span class=\"token number\">58</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">50</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">49</span> <span class=\"token operator\">==</span> <span class=\"token number\">140</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">59</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">51</span> <span class=\"token operator\">=</span> <span class=\"token number\">44</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">50</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">60</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">52</span> <span class=\"token operator\">=</span> <span class=\"token number\">141</span> * <span class=\"token number\">142</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">61</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">53</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">52</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">62</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">54</span> <span class=\"token operator\">=</span> <span class=\"token number\">143</span> * <span class=\"token number\">144</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">63</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">55</span> <span class=\"token operator\">=</span> gep1 p.53 + <span class=\"token punctuation\">(</span><span class=\"token number\">54</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">64</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">56</span> <span class=\"token operator\">&lt;</span>- p.55\n  <span class=\"token number\">6</span>   <span class=\"token number\">65</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">57</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">56</span> <span class=\"token operator\">==</span> <span class=\"token number\">145</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">66</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">58</span> <span class=\"token operator\">=</span> <span class=\"token number\">51</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">57</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">67</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">59</span> <span class=\"token operator\">=</span> <span class=\"token number\">146</span> * <span class=\"token number\">147</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">68</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">60</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">59</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">69</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">61</span> <span class=\"token operator\">=</span> <span class=\"token number\">148</span> * <span class=\"token number\">149</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">70</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">62</span> <span class=\"token operator\">=</span> gep1 p.60 + <span class=\"token punctuation\">(</span><span class=\"token number\">61</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">71</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">63</span> <span class=\"token operator\">&lt;</span>- p.62\n  <span class=\"token number\">6</span>   <span class=\"token number\">72</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">64</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">63</span> <span class=\"token operator\">==</span> <span class=\"token number\">150</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">73</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">65</span> <span class=\"token operator\">=</span> <span class=\"token number\">58</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">64</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">74</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">66</span> <span class=\"token operator\">=</span> <span class=\"token number\">151</span> * <span class=\"token number\">152</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">75</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">67</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">66</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">76</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">68</span> <span class=\"token operator\">=</span> <span class=\"token number\">153</span> * <span class=\"token number\">154</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">77</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">69</span> <span class=\"token operator\">=</span> gep1 p.67 + <span class=\"token punctuation\">(</span><span class=\"token number\">68</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">78</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">70</span> <span class=\"token operator\">&lt;</span>- p.69\n  <span class=\"token number\">6</span>   <span class=\"token number\">79</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">71</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">70</span> <span class=\"token operator\">==</span> <span class=\"token number\">155</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">80</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">72</span> <span class=\"token operator\">=</span> <span class=\"token number\">65</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">71</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">81</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">73</span> <span class=\"token operator\">=</span> <span class=\"token number\">156</span> * <span class=\"token number\">157</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">82</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">74</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">73</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">83</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">75</span> <span class=\"token operator\">=</span> <span class=\"token number\">158</span> * <span class=\"token number\">159</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">84</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">76</span> <span class=\"token operator\">=</span> gep1 p.74 + <span class=\"token punctuation\">(</span><span class=\"token number\">75</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">85</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">77</span> <span class=\"token operator\">&lt;</span>- p.76\n  <span class=\"token number\">6</span>   <span class=\"token number\">86</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">78</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">77</span> <span class=\"token operator\">==</span> <span class=\"token number\">160</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">87</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">79</span> <span class=\"token operator\">=</span> <span class=\"token number\">72</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">78</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">88</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">80</span> <span class=\"token operator\">=</span> <span class=\"token number\">161</span> * <span class=\"token number\">162</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">89</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">81</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">80</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">90</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">82</span> <span class=\"token operator\">=</span> <span class=\"token number\">163</span> * <span class=\"token number\">164</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">91</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">83</span> <span class=\"token operator\">=</span> gep1 p.81 + <span class=\"token punctuation\">(</span><span class=\"token number\">82</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">92</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">84</span> <span class=\"token operator\">&lt;</span>- p.83\n  <span class=\"token number\">6</span>   <span class=\"token number\">93</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">85</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">84</span> <span class=\"token operator\">==</span> <span class=\"token number\">165</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">94</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">86</span> <span class=\"token operator\">=</span> <span class=\"token number\">79</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">85</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">95</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">87</span> <span class=\"token operator\">=</span> <span class=\"token number\">166</span> * <span class=\"token number\">167</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">96</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">88</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">87</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">97</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">89</span> <span class=\"token operator\">=</span> <span class=\"token number\">168</span> * <span class=\"token number\">169</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">98</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">90</span> <span class=\"token operator\">=</span> gep1 p.88 + <span class=\"token punctuation\">(</span><span class=\"token number\">89</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>   <span class=\"token number\">99</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">91</span> <span class=\"token operator\">&lt;</span>- p.90\n  <span class=\"token number\">6</span>  <span class=\"token number\">100</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">92</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">91</span> <span class=\"token operator\">==</span> <span class=\"token number\">170</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">101</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">93</span> <span class=\"token operator\">=</span> <span class=\"token number\">86</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">92</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">102</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">94</span> <span class=\"token operator\">=</span> <span class=\"token number\">171</span> * <span class=\"token number\">172</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">103</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">95</span> <span class=\"token operator\">=</span> gep1 p.7 + <span class=\"token punctuation\">(</span><span class=\"token number\">94</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">104</span>  OP_BC_MUL           <span class=\"token punctuation\">[</span><span class=\"token number\">3</span>  / <span class=\"token number\">18</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">96</span> <span class=\"token operator\">=</span> <span class=\"token number\">173</span> * <span class=\"token number\">174</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">105</span>  OP_BC_GEP1          <span class=\"token punctuation\">[</span><span class=\"token number\">35</span> /179/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">97</span> <span class=\"token operator\">=</span> gep1 p.95 + <span class=\"token punctuation\">(</span><span class=\"token number\">96</span> * <span class=\"token number\">65</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">106</span>  OP_BC_LOAD          <span class=\"token punctuation\">[</span><span class=\"token number\">39</span> /198/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  load  <span class=\"token number\">98</span> <span class=\"token operator\">&lt;</span>- p.97\n  <span class=\"token number\">6</span>  <span class=\"token number\">107</span>  OP_BC_ICMP_EQ       <span class=\"token punctuation\">[</span><span class=\"token number\">21</span> /108/  <span class=\"token number\">3</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">99</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token number\">98</span> <span class=\"token operator\">==</span> <span class=\"token number\">175</span><span class=\"token punctuation\">)</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">108</span>  OP_BC_AND           <span class=\"token punctuation\">[</span><span class=\"token number\">11</span> / <span class=\"token number\">55</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">100</span> <span class=\"token operator\">=</span> <span class=\"token number\">93</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">99</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">109</span>  OP_BC_SEXT          <span class=\"token punctuation\">[</span><span class=\"token number\">15</span> / <span class=\"token number\">79</span>/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">101</span> <span class=\"token operator\">=</span> <span class=\"token number\">100</span> sext <span class=\"token number\">1</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">110</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">101</span> -<span class=\"token operator\">></span> <span class=\"token number\">0</span>\n  <span class=\"token number\">6</span>  <span class=\"token number\">111</span>  OP_BC_JMP           <span class=\"token punctuation\">[</span><span class=\"token number\">18</span> / <span class=\"token number\">90</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  jmp bb.7\n\n  <span class=\"token number\">7</span>  <span class=\"token number\">112</span>  OP_BC_COPY          <span class=\"token punctuation\">[</span><span class=\"token number\">34</span> /174/  <span class=\"token number\">4</span><span class=\"token punctuation\">]</span>  <span class=\"token function\">cp</span> <span class=\"token number\">0</span> -<span class=\"token operator\">></span> <span class=\"token number\">102</span>\n  <span class=\"token number\">7</span>  <span class=\"token number\">113</span>  OP_BC_TRUNC         <span class=\"token punctuation\">[</span><span class=\"token number\">14</span> / <span class=\"token number\">70</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  <span class=\"token number\">103</span> <span class=\"token operator\">=</span> <span class=\"token number\">102</span> trunc ffffffffffffffff\n  <span class=\"token number\">7</span>  <span class=\"token number\">114</span>  OP_BC_RET           <span class=\"token punctuation\">[</span><span class=\"token number\">19</span> / <span class=\"token number\">95</span>/  <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>  ret <span class=\"token number\">103</span>\n------------------------------------------------------------------------</code></pre></div>\n<p>Referring to the official write-up, it seems that the following solver can recover the flag, so I used it as a clue while trying to understand the logic.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">from</span> z3 <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\n\nhashlist <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token number\">0x739e80a2</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x3aae80a3</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x3ba4e79f</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x78bac1f3</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0x5ef9c1f3</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x3bb9ec9f</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x558683f4</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0x55fad594</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0x6cbfdd9f</span>\n<span class=\"token punctuation\">]</span>\n\nflag <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>BitVec<span class=\"token punctuation\">(</span><span class=\"token string-interpolation\"><span class=\"token string\">f'flag_</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>i<span class=\"token punctuation\">}</span></span><span class=\"token string\">'</span></span><span class=\"token punctuation\">,</span> <span class=\"token number\">32</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>hashlist<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\n\ns <span class=\"token operator\">=</span> Solver<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">for</span> hashvalue<span class=\"token punctuation\">,</span> block <span class=\"token keyword\">in</span> <span class=\"token builtin\">zip</span><span class=\"token punctuation\">(</span>hashlist<span class=\"token punctuation\">,</span> flag<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    h <span class=\"token operator\">=</span> <span class=\"token number\">0xacab3c0</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        h <span class=\"token operator\">=</span> RotateLeft<span class=\"token punctuation\">(</span>h <span class=\"token operator\">^</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>block <span class=\"token operator\">>></span> <span class=\"token punctuation\">(</span>i<span class=\"token operator\">*</span><span class=\"token number\">8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;</span> <span class=\"token number\">0xff</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span>\n    s<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>h <span class=\"token operator\">==</span> hashvalue<span class=\"token punctuation\">)</span>\n\nr <span class=\"token operator\">=</span> s<span class=\"token punctuation\">.</span>check<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">if</span> r <span class=\"token operator\">!=</span> sat<span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>r<span class=\"token punctuation\">)</span>\n    exit<span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n\nm <span class=\"token operator\">=</span> s<span class=\"token punctuation\">.</span>model<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\ns_flag <span class=\"token operator\">=</span> <span class=\"token string\">b\"\"</span>\n<span class=\"token keyword\">for</span> block <span class=\"token keyword\">in</span> flag<span class=\"token punctuation\">:</span>\n    s_flag <span class=\"token operator\">+=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">.</span>to_bytes<span class=\"token punctuation\">(</span>m<span class=\"token punctuation\">[</span>block<span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span>as_long<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'little'</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"SECCON{\"</span> <span class=\"token operator\">+</span> s_flag<span class=\"token punctuation\">.</span>decode<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">+</span> <span class=\"token string\">\"}\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<h2 id=\"dorobohrev\" style=\"position:relative;\"><a href=\"#dorobohrev\" aria-label=\"dorobohrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>DoroboH(Rev)</h2>\n<blockquote>\n<p>I found a suspicious process named “araiguma.exe” running on my computer. Before removing it, I captured my network and dumped the process memory. Could you investigate what the malware is doing?</p>\n<p>doroboh</p>\n<p>The program is a malware. Do not run it unless you understand its behavior.</p>\n</blockquote>\n<p>TODO</p>\n<h2 id=\"eldercmprev\" style=\"position:relative;\"><a href=\"#eldercmprev\" aria-label=\"eldercmprev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>eldercmp(Rev)</h2>\n<blockquote>\n<p>baby_mode = 0 👴</p>\n<p>chall.elder</p>\n<ul>\n<li>The program is tested on Ubuntu 20.04 and 22.04 LTS (host machine). It might not run correctly on the other platforms such as WSL.</li>\n</ul>\n</blockquote>\n<p>TODO</p>","fields":{"slug":"/ctf-seccon2022-rev-en","tagSlugs":["/tag/ctf-en/","/tag/rev-en/","/tag/english/"]},"frontmatter":{"date":"2023-08-20","description":"A write-up of the Rev challenges from the SECCON 2022 qualifiers.","tags":["CTF (en)","Rev (en)","English"],"title":"SECCON 2022 Qualifier Challenges (Rev only)","socialImage":{"publicURL":"/static/21a3b9f873b4507e7aaf837199e86efe/ctf-seccon2022-rev.png"}}}},"pageContext":{"slug":"/ctf-seccon2022-rev-en"}},"staticQueryHashes":["251939775","401334301","825871152"]}