[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\nThis project has been archived and is no longer actively maintained.\n\nThe Sanitizers project, which includes AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more, is now archived. The core code for these sanitizers resides within the LLVM repository. This repository will be retained for archival purposes, providing access to historical documentation, bugfixes, and helper code.\n\nImportant: Please do not file new bug reports in this repository. Refer to https://github.com/google/sanitizers/blob/master/README.md for information on where to file your bugs.\n"
  },
  {
    "path": "LICENSE.TXT",
    "content": "==============================================================================\nThe LLVM Project is under the Apache License v2.0 with LLVM Exceptions:\n==============================================================================\n\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n    1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n    2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n    3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n    4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n    5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n    6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n    7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n    8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n    9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n    END OF TERMS AND CONDITIONS\n\n    APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n    Copyright [yyyy] [name of copyright owner]\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n---- LLVM Exceptions to the Apache 2.0 License ----\n\nAs an exception, if, as a result of your compiling your source code, portions\nof this Software are embedded into an Object form of such source code, you\nmay redistribute such embedded portions in such Object form without complying\nwith the conditions of Sections 4(a), 4(b) and 4(d) of the License.\n\nIn addition, if you combine or link compiled forms of this Software with\nsoftware that is licensed under the GPLv2 (\"Combined Software\") and if a\ncourt of competent jurisdiction determines that the patent provision (Section\n3), the indemnity provision (Section 9) or other Section of the License\nconflicts with the conditions of the GPLv2, you may retroactively and\nprospectively choose to deem waived or otherwise exclude such Section(s) of\nthe License, but only in their entirety and only with respect to the Combined\nSoftware.\n\n==============================================================================\nSoftware from third parties included in the LLVM Project:\n==============================================================================\nThe LLVM Project contains third party software which is under different license\nterms. All such code will be identified clearly using at least one of two\nmechanisms:\n1) It will be in a separate directory tree with its own `LICENSE.txt` or\n   `LICENSE` file at the top containing the specific license and restrictions\n   which apply to that software, or\n2) It will contain specific license and restriction terms at the top of every\n   file.\n\n==============================================================================\nLegacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):\n==============================================================================\n\nThe compiler_rt library is dual licensed under both the University of Illinois\n\"BSD-Like\" license and the MIT license.  As a user of this code you may choose\nto use it under either license.  As a contributor, you agree to allow your code\nto be used under both.\n\nFull text of the relevant licenses is included below.\n\n==============================================================================\n\nUniversity of Illinois/NCSA\nOpen Source License\n\nCopyright (c) 2009-2019 by the contributors listed in CREDITS.TXT\n\nAll rights reserved.\n\nDeveloped by:\n\n    LLVM Team\n\n    University of Illinois at Urbana-Champaign\n\n    http://llvm.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal with\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimers.\n\n    * Redistributions in binary form must reproduce the above copyright notice,\n      this list of conditions and the following disclaimers in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the names of the LLVM Team, University of Illinois at\n      Urbana-Champaign, nor the names of its contributors may be used to\n      endorse or promote products derived from this Software without specific\n      prior written permission.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\nCONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE\nSOFTWARE.\n\n==============================================================================\n\nCopyright (c) 2009-2015 by the contributors listed in CREDITS.TXT\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# sanitizers (Archived)\n\n**This _repository_ has been archived and is no longer actively maintained.**\n\nThe Sanitizers _repository_, which includes AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more, is now archived. The core code for these sanitizers resides within the [LLVM](http://llvm.org) repository. This repository will be retained for archival purposes, providing access to historical documentation, bugfixes, and helper code.\n\n**Important:** Please do not file new bug reports in this repository.\n\n**Where to Report Bugs:**\n\n* **LLVM:** For bugs related to the sanitizer runtimes and instrumentation, please report them to the [LLVM Bug Tracker](https://github.com/llvm/llvm-project/issues/).\n* **GCC:** For bugs related to the GCC port of the sanitizers, please report them to the [GCC Bugzilla](https://gcc.gnu.org/bugzilla/).\n* **Linux Kernel:** For bugs related to Kernel AddressSanitizer (KASAN), Kernel MemorySanitizer (KMSAN), or Kernel ConcurrencySanitizer (KCSAN), please report them through the appropriate Linux kernel bug reporting channels, such as the [Linux kernel mailing list](https://vger.kernel.org/vger-lists.html#linux-kernel).\n* **Linux Distributions:** For bugs related to compiler issues in specific Linux distributions that are not reproducible in trunk compilers, please report them to the respective distribution's bug tracker (e.g., Debian Bug Tracking System, Red Hat Bugzilla).\n* **Apple and Microsoft:** For bugs related to the compilers provided by Apple (Xcode) or Microsoft (Visual Studio), please report them through the respective vendor's bug reporting channels.\n* **Android NDK:** For bugs related to Android, please report them to the [NDK issue tracker](https://github.com/android/ndk).\n\n**Documentation (Archived):**\n\n* [AddressSanitizer](../../wiki/AddressSanitizer) (detects addressability issues) and [LeakSanitizer](../../wiki/AddressSanitizerLeakSanitizer) (detects memory leaks)\n* ThreadSanitizer (detects data races and deadlocks) for [C++](../../wiki/ThreadSanitizerCppManual) and [Go](../../wiki/ThreadSanitizerGoManual)\n* [MemorySanitizer](../../wiki/MemorySanitizer) (detects use of uninitialized memory)\n* [HWASAN](https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html), or Hardware-assisted AddressSanitizer, a newer variant of AddressSanitizer that consumes much less memory\n* [UBSan](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html), or UndefinedBehaviorSanitizer\n\n**Kernel Sanitizers (Archived Documentation):**\n\n* [KASAN](https://www.kernel.org/doc/html/v4.12/dev-tools/kasan.html)\n* [KMSAN](https://github.com/google/kmsan)\n* [KCSAN](https://github.com/google/kernel-sanitizers/blob/master/KCSAN.md)\n\nThank you for your understanding.\n"
  },
  {
    "path": "android/app/README.md",
    "content": "# Sanitizer Example Android Apps\n\nThis repository contains an example Android app that is built with the following\nmemory safety tools:\n\n 1. [HWASan](https://developer.android.com/ndk/guides/hwasan),\n 2. [GWP-ASan](https://developer.android.com/ndk/guides/gwp-asan),\n 3. [MTE](https://security.googleblog.com/2019/08/adopting-arm-memory-tagging-extension.html)\n    (in both SYNChronous and ASYNChronous modes), or\n 4. None of the above.\n\nInstalling the Prebuilt Apps\n---\n\nPrebuilt apps can be found in the `prebuilt-apks` folder. They can be installed\nonto your device by `adb install prebuilt-apks/app-<variant>-release.apk`.\n\nNote: If you see errors along the lines of: `Failure\n[INSTALL_FAILED_VERIFICATION_FAILURE: Package Verification Result]`, you may\nneed to `adb unroot` first. Once installed, the app will be visible in your app\ndrawer under the name \"Sanitizer Test App\".\n\nUninstalling the App\n---\n\nYou can remove the app on-device by long pressing the app in the app drawer, and\ndragging it to the top right of the screen, into the \"Uninstall\" bin.\n\nBuilding the App Yourself\n---\n\nTo build the app yourself, simply `cd src && ./gradlew build`. For each\nsanitizer, this will build a debug version of the app and place it under\n`app/build/outputs/apk/gwpAsan/release/app-<variant>-debug-unsigned.apk`.\nInstallation instructions are the same as the prebuilts.\n\nIf your device policy doesn't allow for unsigned apps to be installed, you can\neither use the prebuilt apps - or use the `build-and-sign.sh` script to build\nand sign your own app. You will likely need to create your own signing\ncertificate, instructions are available in the script. Once the script runs,\nsigned APKs are available in `src/apks`.\n"
  },
  {
    "path": "android/app/src/.gitignore",
    "content": ".gradle\nbuild\n\napp/.cxx\napp/build\n\napks\n\nmy-release-key.jks\n"
  },
  {
    "path": "android/app/src/app/build.gradle",
    "content": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\n\nandroid {\n    compileSdkVersion 31\n    buildToolsVersion \"31.0.0\"\n    defaultConfig {\n        applicationId \"com.example.sanitizertest\"\n        minSdkVersion 27\n        targetSdkVersion 31\n        versionCode 1\n        versionName \"1.2\"\n        manifestPlaceholders = [ gwpAsanMode: 'default', memtagMode: 'default' ]\n    }\n\n    buildTypes {\n        release {\n            minifyEnabled true\n            debuggable true // Still allow compat features to be flipped.\n        }\n        debug {\n            applicationIdSuffix \".debug\"\n            debuggable true\n        }\n    }\n\n    externalNativeBuild {\n        cmake {\n            path \"src/main/cpp/CMakeLists.txt\"\n        }\n    }\n\n    flavorDimensions \"sanitize\"\n    productFlavors {\n        none {\n            applicationIdSuffix \".none\"\n        }\n        gwp_asan {\n            applicationIdSuffix \".gwp_asan\"\n            manifestPlaceholders = [ gwpAsanMode: 'always' ]\n        }\n        hwasan {\n            applicationIdSuffix \".hwasan\"\n            externalNativeBuild {\n                cmake {\n                    arguments \"-DHWASAN=1\"\n                }\n            }\n        }\n        memtag_async {\n            applicationIdSuffix = \".memtag.async\"\n            manifestPlaceholders = [ memtagMode: 'async' ]\n        }\n        memtag_sync {\n            applicationIdSuffix = \".memtag.sync\"\n            manifestPlaceholders = [ memtagMode: 'sync' ]\n        }\n    }\n}\n\ndependencies {\n    implementation 'androidx.appcompat:appcompat:1.3.0'\n    implementation 'androidx.core:core-ktx:1.6.0'\n    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'\n}\n"
  },
  {
    "path": "android/app/src/app/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.sanitizertest\">\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@mipmap/ic_launcher\"\n        android:label=\"@string/app_name\"\n        android:roundIcon=\"@mipmap/ic_launcher_round\"\n        android:supportsRtl=\"true\"\n        android:theme=\"@style/AppTheme\"\n        android:memtagMode=\"${memtagMode}\"\n        android:gwpAsanMode=\"${gwpAsanMode}\"\n        android:nativeHeapZeroInitialized=\"true\">\n        <activity android:exported=\"true\" android:name=\".MainActivity\">\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "android/app/src/app/src/main/cpp/CMakeLists.txt",
    "content": "# For more information about using CMake with Android Studio, read the\n# documentation: https://d.android.com/studio/projects/add-native-code.html\n\n# Sets the minimum version of CMake required to build the native library.\n\ncmake_minimum_required(VERSION 3.4.1)\n\n# Creates and names a library, sets it as either STATIC\n# or SHARED, and provides the relative paths to its source code.\n# You can define multiple libraries, and CMake builds them for you.\n# Gradle automatically packages shared libraries with your APK.\n\nadd_library( # Sets the name of the library.\n        native-lib\n\n        # Sets the library as a shared library.\n        SHARED\n\n        # Provides a relative path to your source file(s).\n        native-lib.cpp)\n\n# Searches for a specified prebuilt library and stores the path as a\n# variable. Because CMake includes system libraries in the search path by\n# default, you only need to specify the name of the public NDK library\n# you want to add. CMake verifies that the library exists before\n# completing its build.\n\nfind_library( # Sets the name of the path variable.\n        log-lib\n\n        # Specifies the name of the NDK library that\n        # you want CMake to locate.\n        log)\n\n# Specifies libraries CMake should link to your target library. You\n# can link multiple libraries, such as libraries you define in this\n# build script, prebuilt third-party libraries, or system libraries.\n\ntarget_link_libraries( # Specifies the target library.\n        native-lib\n\n        # Links the target library to the log library\n        # included in the NDK.\n        ${log-lib})\n\nif(ANDROID_ABI STREQUAL \"arm64-v8a\" AND HWASAN)\n  target_compile_options(native-lib PUBLIC -fsanitize=hwaddress -fno-omit-frame-pointer)\n  set_target_properties(native-lib PROPERTIES LINK_FLAGS -fsanitize=hwaddress)\nendif()\n"
  },
  {
    "path": "android/app/src/app/src/main/cpp/native-lib.cpp",
    "content": "#include <jni.h>\n#include <string>\n#include <stdlib.h>\n#include <thread>\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doUseAfterFree(\n        JNIEnv *env,\n        jobject /* this */) {\n    char * volatile p = new char[10];\n    delete[] p;\n    p[5] = 42;\n}\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doHeapBufferOverflow(\n        JNIEnv *env,\n        jobject /* this */) {\n    char * volatile p = new char[16];\n    p[16] = 42;\n    delete[] p;\n}\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doHeapBufferOverflowReadLoop(\n        JNIEnv *env,\n        jobject /* this */) {\n    for (int i = 0; i < 0x10000; ++i) {\n        char * volatile p = new char[16];\n        volatile char x = p[32];\n        x++;\n        delete[] p;\n    }\n}\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doDoubleFree(\n        JNIEnv *env,\n        jobject /* this */) {\n    char * volatile p = new char[16];\n    delete[] p;\n    delete[] p;\n}\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doNullDeref(\n        JNIEnv *env,\n        jobject /* this */) {\n    char * volatile p = (char *)nullptr;\n    p[42] = 1;\n}\n\n\nstatic void RunUAFLoop() {\n    constexpr int kLoopCount = 100;\n    constexpr int kAllocCount = 1000;\n    volatile char sink;\n    char **p = new char*[kAllocCount];\n    for (int j = 0; j < kLoopCount; ++j) {\n        for (int i = 0; i < kAllocCount; ++i)\n            p[i] = new char[128];\n        for (int i = 0; i < kAllocCount; ++i)\n            delete[] p[i];\n        for (int i = 0; i < kAllocCount; ++i)\n            sink = p[i][42];\n    }\n    delete[] p;\n}\n\nextern \"C\" JNIEXPORT void JNICALL\nJava_com_example_sanitizertest_MainActivity_doUseAfterFreeLoop(\n        JNIEnv *env,\n        jobject /* this */) {\n    std::thread t(RunUAFLoop);\n    t.detach();\n}\n"
  },
  {
    "path": "android/app/src/app/src/main/java/com/example/sanitizertest/MainActivity.kt",
    "content": "package com.example.sanitizertest\n\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport kotlinx.android.synthetic.main.activity_main.*\n\nclass MainActivity : AppCompatActivity() {\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        button_uaf.setOnClickListener { _ ->\n            doUseAfterFree();\n        }\n        button_uaf_loop.setOnClickListener { _ ->\n            doUseAfterFreeLoop();\n        }\n        button_oob.setOnClickListener { _ ->\n            doHeapBufferOverflow();\n        }\n        button_oob_read_loop.setOnClickListener { _ ->\n            doHeapBufferOverflowReadLoop();\n        }\n        button_double_free.setOnClickListener { _ ->\n            doDoubleFree();\n        }\n        button_null_deref.setOnClickListener { _ ->\n            doNullDeref();\n        }\n    }\n\n    external fun doUseAfterFree()\n    external fun doUseAfterFreeLoop()\n    external fun doHeapBufferOverflow()\n    external fun doHeapBufferOverflowReadLoop()\n    external fun doDoubleFree()\n    external fun doNullDeref()\n\n    companion object {\n\n        // Used to load the 'native-lib' library on application startup.\n        init {\n            System.loadLibrary(\"native-lib\")\n        }\n    }\n}\n"
  },
  {
    "path": "android/app/src/app/src/main/res/drawable/ic_launcher_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportWidth=\"108\"\n    android:viewportHeight=\"108\">\n    <path\n        android:fillColor=\"#008577\"\n        android:pathData=\"M0,0h108v108h-108z\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M9,0L9,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,0L19,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,0L29,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,0L39,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,0L49,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,0L59,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,0L69,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,0L79,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M89,0L89,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M99,0L99,108\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,9L108,9\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,19L108,19\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,29L108,29\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,39L108,39\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,49L108,49\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,59L108,59\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,69L108,69\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,79L108,79\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,89L108,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M0,99L108,99\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,29L89,29\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,39L89,39\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,49L89,49\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,59L89,59\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,69L89,69\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M19,79L89,79\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M29,19L29,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M39,19L39,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M49,19L49,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M59,19L59,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M69,19L69,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n    <path\n        android:fillColor=\"#00000000\"\n        android:pathData=\"M79,19L79,89\"\n        android:strokeWidth=\"0.8\"\n        android:strokeColor=\"#33FFFFFF\" />\n</vector>\n"
  },
  {
    "path": "android/app/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml",
    "content": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    android:width=\"108dp\"\n    android:height=\"108dp\"\n    android:viewportWidth=\"108\"\n    android:viewportHeight=\"108\">\n    <path\n        android:fillType=\"evenOdd\"\n        android:pathData=\"M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z\"\n        android:strokeWidth=\"1\"\n        android:strokeColor=\"#00000000\">\n        <aapt:attr name=\"android:fillColor\">\n            <gradient\n                android:endX=\"78.5885\"\n                android:endY=\"90.9159\"\n                android:startX=\"48.7653\"\n                android:startY=\"61.0927\"\n                android:type=\"linear\">\n                <item\n                    android:color=\"#44000000\"\n                    android:offset=\"0.0\" />\n                <item\n                    android:color=\"#00000000\"\n                    android:offset=\"1.0\" />\n            </gradient>\n        </aapt:attr>\n    </path>\n    <path\n        android:fillColor=\"#FFFFFF\"\n        android:fillType=\"nonZero\"\n        android:pathData=\"M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z\"\n        android:strokeWidth=\"1\"\n        android:strokeColor=\"#00000000\" />\n</vector>\n"
  },
  {
    "path": "android/app/src/app/src/main/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".MainActivity\">\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\"\n        android:orientation=\"vertical\"\n        android:gravity=\"top\"\n        android:layout_margin=\"20dp\"\n        tools:layout_editor_absoluteX=\"1dp\"\n        tools:layout_editor_absoluteY=\"3dp\"\n        app:layout_constraintTop_toTopOf=\"parent\"\n        app:layout_constraintStart_toStartOf=\"parent\">\n\n        <Button\n            android:id=\"@+id/button_uaf\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"use-after-free\" />\n\n        <Button\n            android:id=\"@+id/button_uaf_loop\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"use-after-free loop\" />\n\n        <Button\n            android:id=\"@+id/button_oob\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"heap-out-of-bounds\" />\n\n        <Button\n            android:id=\"@+id/button_oob_read_loop\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"heap-out-of-bounds READ loop\" />\n\n        <Button\n            android:id=\"@+id/button_double_free\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"double-free\" />\n\n        <Button\n            android:id=\"@+id/button_null_deref\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"null-deref\" />\n\n        <Button\n            android:id=\"@+id/button_java_crash\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"51dp\"\n            android:text=\"java crash\" />\n    </LinearLayout>\n\n\n</androidx.constraintlayout.widget.ConstraintLayout>\n"
  },
  {
    "path": "android/app/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <background android:drawable=\"@drawable/ic_launcher_background\" />\n    <foreground android:drawable=\"@drawable/ic_launcher_foreground\" />\n</adaptive-icon>"
  },
  {
    "path": "android/app/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <background android:drawable=\"@drawable/ic_launcher_background\" />\n    <foreground android:drawable=\"@drawable/ic_launcher_foreground\" />\n</adaptive-icon>"
  },
  {
    "path": "android/app/src/app/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"colorPrimary\">#008577</color>\n    <color name=\"colorPrimaryDark\">#00574B</color>\n    <color name=\"colorAccent\">#D81B60</color>\n</resources>\n"
  },
  {
    "path": "android/app/src/app/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">Sanitizer Test App</string>\n</resources>\n"
  },
  {
    "path": "android/app/src/app/src/main/res/values/styles.xml",
    "content": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar\">\n        <!-- Customize your theme here. -->\n        <item name=\"colorPrimary\">@color/colorPrimary</item>\n        <item name=\"colorPrimaryDark\">@color/colorPrimaryDark</item>\n        <item name=\"colorAccent\">@color/colorAccent</item>\n    </style>\n\n</resources>\n"
  },
  {
    "path": "android/app/src/build-and-sign.sh",
    "content": "#!/bin/bash -e\n\n# Script to build all variants of the app, and start the signing process. The\n# signing key is not part of the public repository. You can create your own\n# signing key by following the instructions:\n#  - https://developer.android.com/studio/build/building-cmdline#sign_cmdline\n#\n#  tl;dr >> $ keytool -genkey -v -keystore my-release-key.jks -keyalg RSA \\\n#             -keysize 2048 -validity 10000 -alias my-alias\n#\n# To learn more about the process of building APKs using the command line, see:\n#  - https://developer.android.com/studio/build/building-cmdline\n\nSIGNING_KEY=my-release-key.jks\n\nDIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" >/dev/null 2>&1 && pwd )\"\ncd $DIR\n\nTMPDIR=\"$(mktemp -d)\"\n\n# Build the app.\n./gradlew build\n\n# Create the output dir, removing if present.\nrm -rf apks\nmkdir -p apks\n\n# Grab the new apks and move them to an intermediate directory.\ncp `find ./app/build/outputs/apk/ -name *-release-unsigned.apk` $TMPDIR\n\n# Align and sign the APKs.\nAPKS=\"$(ls $TMPDIR | sed 's/-unsigned.apk//')\"\nfor apk in $APKS; do\n  echo $f\n  zipalign -v -p 4 $TMPDIR/$apk-unsigned.apk $TMPDIR/$apk-aligned.apk\n  apksigner sign --ks $SIGNING_KEY --out apks/$apk.apk $TMPDIR/$apk-aligned.apk\ndone\n\nrm -rf $TMPDIR\ncd -\n"
  },
  {
    "path": "android/app/src/build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    ext.kotlin_version = '1.4.21'\n    repositories {\n        google()\n        mavenCentral()\n        maven {\n            url 'https://maven.fabric.io/public'\n        }\n\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:7.0.0'\n        classpath \"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version\"\n\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\n\nallprojects {\n    repositories {\n        google()\n        mavenCentral()\n    }\n}\n\ntask clean(type: Delete) {\n    delete rootProject.buildDir\n}\n"
  },
  {
    "path": "android/app/src/gradle/wrapper/gradle-wrapper.properties",
    "content": "#Fri Nov 08 14:08:35 PST 2019\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-7.0.2-all.zip\n"
  },
  {
    "path": "android/app/src/gradle.properties",
    "content": "# Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\norg.gradle.jvmargs=-Xmx1536m\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n# AndroidX package structure to make it clearer which packages are bundled with the\n# Android operating system, and which are packaged with your app's APK\n# https://developer.android.com/topic/libraries/support-library/androidx-rn\nandroid.useAndroidX=true\n# Automatically convert third-party libraries to use AndroidX\nandroid.enableJetifier=true\n# Kotlin code style for this project: \"official\" or \"obsolete\":\nkotlin.code.style=official\n\n# Stop injecting testOnly into my manifest!\nandroid.injected.testOnly=false\n"
  },
  {
    "path": "android/app/src/gradlew",
    "content": "#!/usr/bin/env sh\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn () {\n    echo \"$*\"\n}\n\ndie () {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\nnonstop=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\n  NONSTOP* )\n    nonstop=true\n    ;;\nesac\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" -a \"$nonstop\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Escape application args\nsave () {\n    for i do printf %s\\\\n \"$i\" | sed \"s/'/'\\\\\\\\''/g;1s/^/'/;\\$s/\\$/' \\\\\\\\/\" ; done\n    echo \" \"\n}\nAPP_ARGS=$(save \"$@\")\n\n# Collect all arguments for the java command, following the shell quoting and substitution rules\neval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS \"\\\"-Dorg.gradle.appname=$APP_BASE_NAME\\\"\" -classpath \"\\\"$CLASSPATH\\\"\" org.gradle.wrapper.GradleWrapperMain \"$APP_ARGS\"\n\n# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong\nif [ \"$(uname)\" = \"Darwin\" ] && [ \"$HOME\" = \"$PWD\" ]; then\n  cd \"$(dirname \"$0\")\"\nfi\n\nexec \"$JAVACMD\" \"$@\"\n"
  },
  {
    "path": "android/app/src/gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@rem  Gradle startup script for Windows\r\n@rem\r\n@rem ##########################################################################\r\n\r\n@rem Set local scope for the variables with windows NT shell\r\nif \"%OS%\"==\"Windows_NT\" setlocal\r\n\r\nset DIRNAME=%~dp0\r\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\r\nset APP_BASE_NAME=%~n0\r\nset APP_HOME=%DIRNAME%\r\n\r\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r\nset DEFAULT_JVM_OPTS=\r\n\r\n@rem Find java.exe\r\nif defined JAVA_HOME goto findJavaFromJavaHome\r\n\r\nset JAVA_EXE=java.exe\r\n%JAVA_EXE% -version >NUL 2>&1\r\nif \"%ERRORLEVEL%\" == \"0\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:findJavaFromJavaHome\r\nset JAVA_HOME=%JAVA_HOME:\"=%\r\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\r\n\r\nif exist \"%JAVA_EXE%\" goto init\r\n\r\necho.\r\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r\necho.\r\necho Please set the JAVA_HOME variable in your environment to match the\r\necho location of your Java installation.\r\n\r\ngoto fail\r\n\r\n:init\r\n@rem Get command-line arguments, handling Windows variants\r\n\r\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\r\n\r\n:win9xME_args\r\n@rem Slurp the command line arguments.\r\nset CMD_LINE_ARGS=\r\nset _SKIP=2\r\n\r\n:win9xME_args_slurp\r\nif \"x%~1\" == \"x\" goto execute\r\n\r\nset CMD_LINE_ARGS=%*\r\n\r\n:execute\r\n@rem Setup the command line\r\n\r\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\r\n\r\n@rem Execute Gradle\r\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r\n\r\n:end\r\n@rem End local scope for the variables with windows NT shell\r\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\r\n\r\n:fail\r\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r\nrem the _cmd.exe /c_ return code!\r\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\r\nexit /b 1\r\n\r\n:mainEnd\r\nif \"%OS%\"==\"Windows_NT\" endlocal\r\n\r\n:omega\r\n"
  },
  {
    "path": "android/app/src/settings.gradle",
    "content": "include ':app'\nrootProject.name='Sanitizer Test App'\n"
  },
  {
    "path": "buildbot/install_deps.sh",
    "content": "#!/bin/bash\n\n(\n  SLEEP=0\n  for i in `seq 1 5`; do\n    sleep $SLEEP\n    SLEEP=$(( SLEEP + 10))\n    APT_OPTS=\"-o DPkg::Lock::Timeout=300 -qq -y\"\n\n    (\n      set -ex\n      rm -f /etc/apt/sources.list.d/scalibr-apt.list # can't update\n      apt ${APT_OPTS} update || true\n      apt ${APT_OPTS} install gnupg || exit 1\n      # curl -f https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - || exit 1\n\n      ARCH_PACKAGES=\n      if [[ \"$(arch)\" == \"x86_64\" ]]; then\n        dpkg --add-architecture i386\n        ARCH_PACKAGES=\"g++-multilib gcc-multilib libc6-dev:i386\"\n      fi\n\n      echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections\n      dpkg --configure -a\n      apt ${APT_OPTS} update || exit 1\n\n      apt ${APT_OPTS} install gcc || exit 1\n\n      apt ${APT_OPTS} install \\\n        ${ARCH_PACKAGES} \\\n        automake \\\n        bc \\\n        binutils-dev \\\n        binutils \\\n        bison \\\n        buildbot-worker \\\n        ccache \\\n        cmake \\\n        clang lld \\\n        curl \\\n        debootstrap \\\n        dos2unix \\\n        e2fsprogs \\\n        flex \\\n        g++ \\\n        gawk \\\n        git \\\n        inetutils-ping \\\n        jq \\\n        libattr1-dev \\\n        libc6-dev \\\n        libcap-ng-dev \\\n        libelf-dev \\\n        libfdt-dev \\\n        libgcrypt-dev \\\n        libglib2.0-dev \\\n        libgss-dev \\\n        liblzma-dev \\\n        libpixman-1-dev \\\n        libssl-dev \\\n        libstdc++-$(gcc -dumpversion)-dev* \\\n        libtinfo-dev \\\n        libtinfo.$ \\\n        libtool \\\n        libxml2-dev \\\n        mc \\\n        mdadm \\\n        m4 \\\n        make \\\n        nfs-kernel-server \\\n        ninja-build \\\n        openssh-client \\\n        pkg-config \\\n        python-is-python3 \\\n        python3-dev \\\n        python3-psutil \\\n        python3-venv \\\n        psmisc \\\n        rsync \\\n        time \\\n        wget \\\n        xfsprogs \\\n        zlib1g-dev || exit 1\n    ) && exit 0\n  done\n  exit 1\n) || $ON_ERROR\n\nupdate-alternatives --install \"/usr/bin/ld\" \"ld\" \"/usr/bin/ld.lld\" 30\nupdate-alternatives --install \"/usr/bin/ld\" \"ld\" \"/usr/bin/ld.gold\" 20\nupdate-alternatives --install \"/usr/bin/ld\" \"ld\" \"/usr/bin/ld.bfd\" 10\n\napt ${APT_OPTS} clean\n"
  },
  {
    "path": "buildbot/start_script.sh",
    "content": "#!/bin/bash\n\nset -x\n\n# Script to configure GCE instance to run sanitizer build bots.\n\n# NOTE: If there were changes in this directory, GCE instance will try to reboot after completing the current build.\n\nUSE_STAGING=${USE_STAGING:-1}\nSHUTDOWN_ON_ERROR=${SHUTDOWN_ON_ERROR:-0}\n\nif [[ \"${USE_STAGING}\" == \"1\" ]] ; then\n  SERVER_PORT=9994\n  API_URL=https://lab.llvm.org/staging/api/v2/workers\nelse\n  SERVER_PORT=9990\n  API_URL=https://lab.llvm.org/buildbot/api/v2/workers\nfi\n\nif [[ \"${SHUTDOWN_ON_ERROR}\" == \"1\" ]] ; then\n  ON_ERROR=${ON_ERROR:-shutdown now}\nelse\n  ON_ERROR=${ON_ERROR:-echo \"FAILED\"}\nfi\n\nBOT_DIR=/home/b\nQEMU_IMAGE_DIR=${BOT_DIR}/qemu_image\nSCRIPT_DIR=$(dirname $(readlink -f \"$0\"))\nFULL_HOSTNAME=\"$(hostname -f)\"\n\nmountpoint /tmp     || mount -o nosuid -t tmpfs tmpfs /tmp || $ON_ERROR\n\n${SCRIPT_DIR}/install_deps.sh\n\n# Optional, ingore if it fails.\ncurl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh\nbash add-google-cloud-ops-agent-repo.sh --also-install\n\nmkdir -p $BOT_DIR\nif lsblk /dev/nvme0n2 ; then\n  # Format and mount scratch drive.\n  [[ -e /dev/md0 ]] || {\n    yes | mdadm --create /dev/md0 --level=0 -q -f --raid-devices=$(ls /dev/nvme*n* | wc -l) /dev/nvme*n*\n    mkfs.xfs /dev/md0\n  }\n  mountpoint $BOT_DIR || mount -o nosuid /dev/md0 $BOT_DIR || $ON_ERROR\nfi\n\n# Move home to the scratch drive.\nusermod -d $BOT_DIR buildbot\n\n# Make sure .cache/clang/ModuleCache/ does not grow over time.\nrm -rf $BOT_DIR/.cache\n\nmkdir -p $BOT_DIR/.ccache\ncat <<EOF >$BOT_DIR/.ccache/ccache.conf\nmax_size = 200.0G\ncompression = true\nEOF\n\nchown -R buildbot:buildbot $BOT_DIR\n\n# Suppress dmesg spam \"Pid <N>(qemu-aarch64) over core_pipe_limit\".\ncat <<EOF >/etc/sysctl.d/999-buildbot.conf\nfs.suid_dumpable = 0\nkernel.core_pipe_limit = 0\nkernel.panic_on_oops = 0\nkernel.softlockup_panic = 0\nkernel.core_pattern = |/bin/false\nEOF\n\nsysctl --system\n\n# FIXME: create_qemu_image.sh fails for unknown reasons.\nif false && [[ \"$(arch)\" == \"x86_64\" ]]; then\n  cat <<EOF >/etc/exports\n${BOT_DIR} 127.0.0.1(rw,sync,all_squash,insecure,anonuid=999,anongid=999,no_subtree_check)\nEOF\n  exportfs -rav\n\n  # Generate Debian image for QEMU bot.\n  (\n    [[ -f ${QEMU_IMAGE_DIR}/debian.img ]] && exit 0\n    set -ux\n    rm -rf $QEMU_IMAGE_DIR\n    mkdir -p $QEMU_IMAGE_DIR\n    cd $QEMU_IMAGE_DIR\n\n    SLEEP=0\n    for i in `seq 1 5`; do\n      sleep $SLEEP\n      SLEEP=$(( SLEEP + 10 ))\n      ${SCRIPT_DIR}/../hwaddress-sanitizer/create_qemu_image.sh && {\n        chown -R buildbot:buildbot $QEMU_IMAGE_DIR\n        exit 0\n      }\n    done\n    exit 1\n  ) || $ON_ERROR\nfi\n\nfunction create_worker() {\n  local WORKER_NAME=\"$1\"\n  local SERVICE_NAME=buildbot-worker@b.service\n\n  echo \"Connecting as $WORKER_NAME\"\n\n  systemctl set-property $SERVICE_NAME TasksMax=100000\n  mkdir -p /etc/systemd/system/${SERVICE_NAME}.d\n  cat <<EOF >/etc/systemd/system/${SERVICE_NAME}.d/limits.conf\n[Service]\nLimitNOFILE=1048576:1048576\nEOF\n  \n  systemctl stop $SERVICE_NAME || true\n  while pkill buildbot-worker; do sleep 5; done;\n  rm -f ${BOT_DIR}/twistd.log ${BOT_DIR}/buildbot.tac\n\n  set +x\n  buildbot-worker create-worker -f --allow-shutdown=signal ${BOT_DIR} lab.llvm.org:$SERVER_PORT \\\n    \"$WORKER_NAME\" \\\n    \"$(gcloud storage cat gs://sanitizer-buildbot/buildbot_password)\"\n  set -x\n\n  mkdir -p /var/lib/buildbot/workers/b\n  ln -fs $BOT_DIR/buildbot.tac /var/lib/buildbot/workers/b/\n\n  echo \"Vitaly Buka <vitalybuka@google.com>\" > ${BOT_DIR}/info/admin\n\n  # \"Host:\" is used by get_worker_host below.\n  {\n    echo 'See \"Info\" step of each build and https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild'\n    echo \"Host: ${FULL_HOSTNAME}\"\n  } > ${BOT_DIR}/info/host\n\n  chown -R buildbot:buildbot $BOT_DIR\n\n  systemctl daemon-reload\n  systemctl start $SERVICE_NAME\n  systemctl status $SERVICE_NAME\n  sleep 30\n  cat ${BOT_DIR}/twistd.log\n  grep \"worker is ready\" $BOT_DIR/twistd.log\n}\n\nfunction is_worker_connected() {\n  local WORKER_NAME=\"$1\"\n  (\n    set -o pipefail\n    curl ${API_URL}/${WORKER_NAME} \\\n      | jq -e '.workers[] | select(.connected_to[] | length!=0)'\n  )\n}\n\nfunction script_needs_update() {\n  git -C ${SCRIPT_DIR} fetch && ! git -C ${SCRIPT_DIR} diff FETCH_HEAD -- .\n}\n\nfunction shutdown_maybe() {\n  if ! script_needs_update ; then\n    [[ $(cat /proc/uptime | grep -oP \"^\\d+\") -lt $((3600*72)) ]] && return\n    (w -h | grep .) && return\n    w -h\n    cat /proc/uptime\n  fi\n  echo \"Rebooting...\"\n  #while pkill -SIGHUP buildbot-worker; do sleep 5; done;\n  shutdown now\n  sleep 1000\n}\n\nfunction get_worker_host() {\n  local WORKER_NAME=\"$1\"\n  shutdown_maybe\n  (\n    set -o pipefail\n    curl ${API_URL}/${WORKER_NAME} \\\n      | jq -re '.workers[].workerinfo.host | capture(\"(?<p>Host): *(?<v>.*)\").v'\n  )\n}\n\nfunction is_worker_myself() {\n  local WORKER_NAME=\"$1\"\n  shutdown_maybe\n  (\n    for i in `seq 1 5`; do\n      is_worker_connected ${WORKER_NAME} && exit 0\n      sleep 30\n    done\n    exit 1\n  ) | grep \" ${FULL_HOSTNAME}\"\n}\n\nfunction claim_worker() {\n  local WORKER_NAME=\"$1\"\n  #is_worker_connected ${WORKER_NAME} && return 1\n  create_worker \"$WORKER_NAME\" || return 2\n  sleep 30\n  while is_worker_myself ${WORKER_NAME} ; do\n    sleep 900\n  done\n  # Notify caller that we've seen at least 1 disconnected worker.\n  return 0\n}\n\nif [[ \"$(arch)\" == \"x86_64\" ]]; then\n  BOTS=\"1 2 3 4 5 6\"\nelse\n  BOTS=\"7 8 9 10 11 12\"\nfi\nBOTS=$(echo \"$BOTS\" | tr ' ' '\\n' | shuf)\nwhile true ; do\n  sleep $((30 + $RANDOM % 150))\n  (\n    # Try claim the same bot.\n    for W in $BOTS ; do\n      [[ \"$(get_worker_host sanitizer-buildbot${W})\" == \"${FULL_HOSTNAME}\" ]] || continue\n      claim_worker \"sanitizer-buildbot${W}\" && exit\n    done\n\n    # Ignore bots with online hosts.\n    for W in $BOTS ; do\n      ping \"$(get_worker_host sanitizer-buildbot${W})\" -c3 && continue\n      claim_worker \"sanitizer-buildbot${W}\" && exit\n    done\n\n    for W in $BOTS ; do\n      claim_worker \"sanitizer-buildbot${W}\" && exit\n    done\n\n    # No unclaimed workers?\n    $ON_ERROR\n  )\ndone\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/.gitignore",
    "content": "*.pdf\n*.log\n*.aux\n*.out\n*.swp\n*.bbl\n*.blg\n*.toc\n*.lof\n*.lol\n*.lot\n*.bcf\n*.run.xml\n*.nav\n*.snm\n*.tar.gz\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/Makefile",
    "content": "DOC_PREFIX=gwpasan\nBIB_FILES=ref.bib\nTEX_FILES=$(shell find ./tex/ -type f -name \"*.tex\" 2> /dev/null)\nSUPPORT_FILES=fig/crashes__svg.pdf\nLATEX=pdflatex -file-line-error -halt-on-error\nBIBGEN=biber\n\n.PHONY: all\nall: pdf\n\n.PHONY: pdf\npdf: $(DOC_PREFIX).pdf\n\n.PHONY: publish\npublish: clean pdf\n\tcp -v $(DOC_PREFIX).pdf pub/$(DOC_PREFIX).pdf\n\n$(DOC_PREFIX).pdf: $(DOC_PREFIX).tex $(TEX_FILES) $(SUPPORT_FILES) $(DOC_PREFIX).bbl\n\t@echo \"======================================================\"\n\t$(LATEX) $(DOC_PREFIX).tex\n\n$(DOC_PREFIX).bbl: $(BIB_FILES)\n\t@echo \"======================================================\"\n\t$(LATEX) $(DOC_PREFIX).tex\n\t@echo \"------------------------------------------------------\"\n\t$(BIBGEN) $(DOC_PREFIX)\n\t@echo \"------------------------------------------------------\"\n\t$(LATEX) $(DOC_PREFIX).tex\n\n%__svg.pdf: %.svg\n\t@echo \"======================================================\"\n\tinkscape --export-pdf=$@ $<\n\n.PHONY: clean\nclean:\n\t$(RM) $(DOC_PREFIX).pdf\n\t$(RM) $(DOC_PREFIX).out\n\t$(RM) $(DOC_PREFIX).log\n\t$(RM) $(DOC_PREFIX).ps\n\t$(RM) $(DOC_PREFIX).dvi\n\t$(RM) $(DOC_PREFIX).aux\n\t$(RM) $(DOC_PREFIX).bbl\n\t$(RM) $(DOC_PREFIX).blg\n\t$(RM) $(DOC_PREFIX).toc\n\t$(RM) $(DOC_PREFIX).lof\n\t$(RM) $(DOC_PREFIX).lol\n\t$(RM) $(DOC_PREFIX).lot\n\t$(RM) $(DOC_PREFIX).nav\n\t$(RM) $(DOC_PREFIX).snm\n\t$(RM) $(DOC_PREFIX).bcf\n\t$(RM) $(DOC_PREFIX).run.xml\n\n.PHONY: install-deps\ninstall-deps:\n\tsudo apt install \\\n\t\ttexlive-latex-base \\\n\t\ttexlive-latex-extra \\\n\t\ttexlive-latex-recommended \\\n\t\ttexlive-fonts-extra \\\n\t\ttexlive-bibtex-extra \\\n\t\tbiber \\\n\t\tinkscape\n\n.PHONY:\narchive: $(DOC_PREFIX).tex $(TEX_FILES) $(SUPPORT_FILES) $(DOC_PREFIX).bbl\n\ttar -cvzf $(DOC_PREFIX).tar.gz $^\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/README",
    "content": "Notes\n=====\n\n* To install required LaTeX packages on Debian:\n\n    $ make install-deps\n\n* To build latest from-source:\n\n    $ make\n\n* pub/ contains the latest publication-ready version;\n  regenerate with:\n\n    $ make publish\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/acmart.cls",
    "content": "%%\n%% This is file `acmart.cls',\n%% generated with the docstrip utility.\n%%\n%% The original source files were:\n%%\n%% acmart.dtx  (with options: `class')\n%% \n%% IMPORTANT NOTICE:\n%% \n%% For the copyright see the source file.\n%% \n%% Any modified versions of this file must be renamed\n%% with new filenames distinct from acmart.cls.\n%% \n%% For distribution of the original source see the terms\n%% for copying and modification in the file acmart.dtx.\n%% \n%% This generated file may be distributed as long as the\n%% original source files, as listed above, are part of the\n%% same distribution. (The sources need not necessarily be\n%% in the same archive or directory.)\n%% \\CharacterTable\n%%  {Upper-case    \\A\\B\\C\\D\\E\\F\\G\\H\\I\\J\\K\\L\\M\\N\\O\\P\\Q\\R\\S\\T\\U\\V\\W\\X\\Y\\Z\n%%   Lower-case    \\a\\b\\c\\d\\e\\f\\g\\h\\i\\j\\k\\l\\m\\n\\o\\p\\q\\r\\s\\t\\u\\v\\w\\x\\y\\z\n%%   Digits        \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\n%%   Exclamation   \\!     Double quote  \\\"     Hash (number) \\#\n%%   Dollar        \\$     Percent       \\%     Ampersand     \\&\n%%   Acute accent  \\'     Left paren    \\(     Right paren   \\)\n%%   Asterisk      \\*     Plus          \\+     Comma         \\,\n%%   Minus         \\-     Point         \\.     Solidus       \\/\n%%   Colon         \\:     Semicolon     \\;     Less than     \\<\n%%   Equals        \\=     Greater than  \\>     Question mark \\?\n%%   Commercial at \\@     Left bracket  \\[     Backslash     \\\\\n%%   Right bracket \\]     Circumflex    \\^     Underscore    \\_\n%%   Grave accent  \\`     Left brace    \\{     Vertical bar  \\|\n%%   Right brace   \\}     Tilde         \\~}\n\n\\NeedsTeXFormat{LaTeX2e}\n\\ProvidesClass{acmart}\n[2023/12/29 v2.01 Typesetting articles for the Association for Computing Machinery]\n\\def\\@classname{acmart}\n\\InputIfFileExists{acmart-preload-hook.tex}{%\n  \\ClassWarning{\\@classname}{%\n    I am loading acmart-preload-hook.tex. You are fully responsible\n    for any problems from now on.}}{}\n\\RequirePackage{xkeyval}\n\\RequirePackage{xstring}\n\\RequirePackage{iftex}\n\\define@choicekey*+{acmart.cls}{format}[\\ACM@format\\ACM@format@nr]{%\n  manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,\n  sigplan, sigchi, sigchi-a, acmengage, acmcp}[manuscript]{}{%\n  \\ClassError{\\@classname}{The option format must be manuscript,\n    acmsmall, acmlarge, acmtog, sigconf, siggraph,\n    sigplan, sigchi or sigchi-a}}\n\\def\\@DeclareACMFormat#1{\\DeclareOptionX{#1}{\\setkeys{acmart.cls}{format=#1}}}\n\\@DeclareACMFormat{manuscript}\n\\@DeclareACMFormat{acmsmall}\n\\@DeclareACMFormat{acmlarge}\n\\@DeclareACMFormat{acmtog}\n\\@DeclareACMFormat{sigconf}\n\\@DeclareACMFormat{siggraph}\n\\@DeclareACMFormat{sigplan}\n\\@DeclareACMFormat{sigchi}\n\\@DeclareACMFormat{sigchi-a}\n\\@DeclareACMFormat{acmengage}\n\\@DeclareACMFormat{acmcp}\n\\ExecuteOptionsX{format}\n\\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%\n  \\if@ACM@screen\n    \\PackageInfo{\\@classname}{Using screen mode}%\n  \\else\n    \\PackageInfo{\\@classname}{Not using screen mode}%\n  \\fi}{\\PackageError{\\@classname}{The option screen can be either true or\n    false}}\n\\ExecuteOptionsX{screen=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%\n  \\if@ACM@urlbreakonhyphens\n    \\PackageInfo{\\@classname}{Using breaking urls on hyphens}%\n  \\else\n    \\PackageInfo{\\@classname}{Not breaking urls on hyphens}%\n  \\fi}{\\PackageError{\\@classname}{The option urlbreakonhyphens can be either true or\n    false}}\n\\ExecuteOptionsX{urlbreakonhyphens=true}\n\\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%\n  \\if@ACM@acmthm\n    \\PackageInfo{\\@classname}{Requiring acmthm}%\n  \\else\n    \\PackageInfo{\\@classname}{Suppressing acmthm}%\n  \\fi}{\\PackageError{\\@classname}{The option acmthm can be either true or\n    false}}\n\\ExecuteOptionsX{acmthm=true}\n\\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{%\n  \\if@ACM@review\n    \\PackageInfo{\\@classname}{Using review mode}%\n    \\AtBeginDocument{\\@ACM@printfoliostrue}%\n  \\else\n    \\PackageInfo{\\@classname}{Not using review mode}%\n  \\fi}{\\PackageError{\\@classname}{The option review can be either true or\n    false}}\n\\ExecuteOptionsX{review=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%\n  \\if@ACM@authorversion\n    \\PackageInfo{\\@classname}{Using authorversion mode}%\n  \\else\n    \\PackageInfo{\\@classname}{Not using authorversion mode}%\n  \\fi}{\\PackageError{\\@classname}{The option authorversion can be either true or\n    false}}\n\\ExecuteOptionsX{authorversion=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%\n  \\if@ACM@nonacm\n    \\PackageInfo{\\@classname}{Using nonacm mode}%\n    \\AtBeginDocument{\\@ACM@printacmreffalse}%\n    % in 'nonacm' mode we disable the \"ACM Reference Format\"\n    % printing by default, but this can be re-enabled by the\n    % user using \\settopmatter{printacmref=true}\n  \\else\n    \\PackageInfo{\\@classname}{Not using nonacm mode}%\n  \\fi}{\\PackageError{\\@classname}{The option nonacm can be either true or\n    false}}\n\\ExecuteOptionsX{nonacm=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%\n  \\PackageError{\\@classname}{The option balance can be either true or\n    false}}\n\\ExecuteOptionsX{balance}\n\\define@boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%\n  \\PackageError{\\@classname}{The option pbalance can be either true or\n    false}}\n\\ExecuteOptionsX{pbalance=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%\n  \\if@ACM@natbib\n    \\PackageInfo{\\@classname}{Explicitly selecting natbib mode}%\n  \\else\n    \\PackageInfo{\\@classname}{Explicitly deselecting natbib mode}%\n  \\fi}{\\PackageError{\\@classname}{The option natbib can be either true or\n    false}}\n\\ExecuteOptionsX{natbib=true}\n\\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%\n  \\if@ACM@anonymous\n    \\PackageInfo{\\@classname}{Using anonymous mode}%\n  \\else\n    \\PackageInfo{\\@classname}{Not using anonymous mode}%\n  \\fi}{\\PackageError{\\@classname}{The option anonymous can be either true or\n    false}}\n\\ExecuteOptionsX{anonymous=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%\n  \\if@ACM@timestamp\n    \\PackageInfo{\\@classname}{Using timestamp mode}%\n  \\else\n    \\PackageInfo{\\@classname}{Not using timestamp mode}%\n  \\fi}{\\PackageError{\\@classname}{The option timestamp can be either true or\n    false}}\n\\ExecuteOptionsX{timestamp=false}\n\\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%\n  \\if@ACM@authordraft\n    \\PackageInfo{\\@classname}{Using authordraft mode}%\n    \\@ACM@timestamptrue\n    \\@ACM@reviewtrue\n  \\else\n    \\PackageInfo{\\@classname}{Not using authordraft mode}%\n  \\fi}{\\PackageError{\\@classname}{The option authordraft can be either true or\n    false}}\n\\ExecuteOptionsX{authordraft=false}\n\\def\\ACM@fontsize{}\n\\DeclareOptionX{8pt}{\\edef\\ACM@fontsize{\\CurrentOption}}\n\\DeclareOptionX{9pt}{\\edef\\ACM@fontsize{\\CurrentOption}}\n\\DeclareOptionX{10pt}{\\edef\\ACM@fontsize{\\CurrentOption}}\n\\DeclareOptionX{11pt}{\\edef\\ACM@fontsize{\\CurrentOption}}\n\\DeclareOptionX{12pt}{\\edef\\ACM@fontsize{\\CurrentOption}}\n\\def\\ACM@languages{}\n\\DeclareOptionX{language}{%\n  \\ifx\\ACM@languages\\@empty\n  \\gdef\\ACM@languages{english}\\fi\n  \\g@addto@macro\\ACM@languages{, #1}}\n\\DeclareOptionX{draft}{\\PassOptionsToClass{\\CurrentOption}{amsart}}\n\\DeclareOptionX{*}{\\PassOptionsToClass{\\CurrentOption}{amsart}}\n\\ProcessOptionsX\n\\ClassInfo{\\@classname}{Using format \\ACM@format, number \\ACM@format@nr}\n\\newif\\if@ACM@manuscript\n\\newif\\if@ACM@journal\n\\newif\\if@ACM@journal@bibstrip\n\\newif\\if@ACM@sigchiamode\n\\newif\\if@ACM@engage\n\\@ACM@engagefalse\n\\newif\\if@ACM@acmcp\n\\@ACM@acmcpfalse\n\\ifnum\\ACM@format@nr=5\\relax % siggraph\n\\ClassWarning{\\@classname}{%\n  The format siggraph is now obsolete.\\MessageBreak\n  I am switching to sigconf.}\n  \\setkeys{acmart.cls}{format=sigconf}\n\\fi\n\\ifnum\\ACM@format@nr=7\\relax % sigchi\n\\ClassWarning{\\@classname}{%\n  The format sigchi is now obsolete.\\MessageBreak\n  I am switching to sigconf.}\n  \\setkeys{acmart.cls}{format=sigconf}\n\\fi\n\\ifnum\\ACM@format@nr=8\\relax % sigchi\n\\ClassWarning{\\@classname}{%\n  ACM SIGCHI has retired the SIGCHI-A template\\MessageBreak\n  effective immediately. ACM is keeping this template\\MessageBreak\n  option available to authors who are working on legacy\\MessageBreak\n  documents only. ACM will not, under any circumstances,\\MessageBreak\n  accept documents in this format for publication and\\MessageBreak\n  will not offer technical support to the authors who use\\MessageBreak\n  this template.\\MessageBreak\n  ACM SIGCHI is directing Conference leaders and\\MessageBreak\n  authors to publish their articles using the SIGCONF\\MessageBreak\n  template call.}\n\\fi\n\\ifnum\\ACM@format@nr=0\\relax\n  \\@ACM@manuscripttrue\n\\else\n  \\@ACM@manuscriptfalse\n\\fi\n\\@ACM@sigchiamodefalse\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n  \\@ACM@journaltrue\n\\or % acmsmall\n  \\@ACM@journaltrue\n\\or % acmlarge\n  \\@ACM@journaltrue\n\\or % acmtog\n  \\@ACM@journaltrue\n\\or % sigconf\n  \\@ACM@journalfalse\n\\or % siggraph\n  \\@ACM@journalfalse\n \\or % sigplan\n  \\@ACM@journalfalse\n \\or % sigchi\n  \\@ACM@journalfalse\n\\or % sigchi-a\n  \\@ACM@journalfalse\n  \\@ACM@sigchiamodetrue\n\\or % acmengage\n  \\@ACM@journalfalse\n  \\@ACM@engagetrue\n\\or % acmcp\n  \\@ACM@journaltrue\n  \\@ACM@acmcptrue\n  \\AtBeginDocument{\\@ACM@printacmreffalse}%\n\\fi\n\\if@ACM@journal\n \\@ACM@journal@bibstriptrue\n\\else\n \\@ACM@journal@bibstripfalse\n\\fi\n\\ifx\\ACM@fontsize\\@empty\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\def\\ACM@fontsize{9pt}%\n  \\or % acmsmall\n    \\def\\ACM@fontsize{10pt}%\n  \\or % acmlarge\n    \\def\\ACM@fontsize{10pt}%\n  \\or % acmtog\n    \\def\\ACM@fontsize{9pt}%\n  \\or % sigconf\n    \\def\\ACM@fontsize{9pt}%\n  \\or % siggraph\n    \\def\\ACM@fontsize{9pt}%\n   \\or % sigplan\n    \\def\\ACM@fontsize{10pt}%\n   \\or % sigchi\n    \\def\\ACM@fontsize{9pt}%\n  \\or % sigchi-a\n    \\def\\ACM@fontsize{10pt}%\n  \\or % acmengage\n    \\def\\ACM@fontsize{10pt}%\n  \\or % acmcp\n    \\def\\ACM@fontsize{9pt}%\n  \\fi\n\\fi\n\\ClassInfo{\\@classname}{Using fontsize \\ACM@fontsize}\n\\LoadClass[\\ACM@fontsize, reqno]{amsart}\n\\RequirePackage{microtype}\n\\RequirePackage{etoolbox}\n\\RequirePackage{booktabs}\n\\RequirePackage{refcount}\n\\RequirePackage{totpages}\n\\RequirePackage{environ}\n\\if@ACM@manuscript\n\\RequirePackage{setspace}\n\\onehalfspacing\n\\fi\n\\RequirePackage{textcase}\n\\if@ACM@acmcp\n\\RequirePackage{framed}\n\\RequirePackage{zref-savepos, zref-user}\n\\fi\n\\newdimen\\@ACM@acmcp@delta\n\\@ACM@acmcp@delta=0pt\\relax\n\\if@ACM@natbib\n  \\RequirePackage{natbib}\n  \\renewcommand{\\bibsection}{%\n     \\section*{\\refname}%\n     \\phantomsection\\addcontentsline{toc}{section}{\\refname}%\n  }\n  \\renewcommand{\\bibfont}{\\bibliofont}\n  \\renewcommand\\setcitestyle[1]{\n  \\@for\\@tempa:=#1\\do\n  {\\def\\@tempb{round}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@open{(}\\renewcommand\\NAT@close{)}\\fi\n   \\def\\@tempb{square}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@open{[}\\renewcommand\\NAT@close{]}\\fi\n   \\def\\@tempb{angle}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@open{$<$}\\renewcommand\\NAT@close{$>$}\\fi\n   \\def\\@tempb{curly}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@open{\\{}\\renewcommand\\NAT@close{\\}}\\fi\n   \\def\\@tempb{semicolon}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@sep{;}\\fi\n   \\def\\@tempb{colon}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@sep{;}\\fi\n   \\def\\@tempb{comma}\\ifx\\@tempa\\@tempb\n     \\renewcommand\\NAT@sep{,}\\fi\n   \\def\\@tempb{authoryear}\\ifx\\@tempa\\@tempb\n     \\NAT@numbersfalse\\fi\n   \\def\\@tempb{numbers}\\ifx\\@tempa\\@tempb\n     \\NAT@numberstrue\\NAT@superfalse\\fi\n   \\def\\@tempb{super}\\ifx\\@tempa\\@tempb\n     \\NAT@numberstrue\\NAT@supertrue\\fi\n   \\def\\@tempb{nobibstyle}\\ifx\\@tempa\\@tempb\n     \\let\\bibstyle=\\@gobble\\fi\n   \\def\\@tempb{bibstyle}\\ifx\\@tempa\\@tempb\n     \\let\\bibstyle=\\@citestyle\\fi\n   \\def\\@tempb{sort}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@sort{\\@ne}\\fi\n   \\def\\@tempb{nosort}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@sort{\\z@}\\fi\n   \\def\\@tempb{compress}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@cmprs{\\@ne}\\fi\n   \\def\\@tempb{nocompress}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@cmprs{\\z@}\\fi\n   \\def\\@tempb{sort&compress}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@sort{\\@ne}\\def\\NAT@cmprs{\\@ne}\\fi\n   \\def\\@tempb{mcite}\\ifx\\@tempa\\@tempb\n     \\let\\NAT@merge\\@ne\\fi\n   \\def\\@tempb{merge}\\ifx\\@tempa\\@tempb\n     \\@ifnum{\\NAT@merge<\\tw@}{\\let\\NAT@merge\\tw@}{}\\fi\n   \\def\\@tempb{elide}\\ifx\\@tempa\\@tempb\n     \\@ifnum{\\NAT@merge<\\thr@@}{\\let\\NAT@merge\\thr@@}{}\\fi\n   \\def\\@tempb{longnamesfirst}\\ifx\\@tempa\\@tempb\n     \\NAT@longnamestrue\\fi\n   \\def\\@tempb{nonamebreak}\\ifx\\@tempa\\@tempb\n     \\def\\NAT@nmfmt#1{\\mbox{\\NAT@up#1}}\\fi\n   \\expandafter\\NAT@find@eq\\@tempa=\\relax\\@nil\n   \\if\\@tempc\\relax\\else\n     \\expandafter\\NAT@rem@eq\\@tempc\n     \\def\\@tempb{open}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@open{\\@tempc}\\fi\n     \\def\\@tempb{close}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@close{\\@tempc}\\fi\n     \\def\\@tempb{aysep}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@aysep{\\@tempc}\\fi\n     \\def\\@tempb{yysep}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@yrsep{\\@tempc}\\fi\n     \\def\\@tempb{notesep}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@cmt{\\@tempc}\\fi\n     \\def\\@tempb{citesep}\\ifx\\@tempa\\@tempb\n      \\xdef\\NAT@sep{\\@tempc}\\fi\n   \\fi\n  }%\n  \\NAT@@setcites\n  }\n  \\renewcommand\\citestyle[1]{%\n    \\ifcsname bibstyle@#1\\endcsname%\n    \\csname bibstyle@#1\\endcsname\\let\\bibstyle\\@gobble%\n    \\else%\n    \\@latex@error{Undefined `#1' citestyle}%\n    \\fi\n  }%\n\\fi\n\\newcommand{\\bibstyle@acmauthoryear}{%\n  \\setcitestyle{%\n    authoryear,%\n    open={[},close={]},citesep={;},%\n    aysep={},yysep={,},%\n    notesep={, }}}\n\\newcommand{\\bibstyle@acmnumeric}{%\n  \\setcitestyle{%\n    numbers,sort&compress,%\n    open={[},close={]},citesep={,},%\n    notesep={, }}}\n\\if@ACM@natbib\n\\citestyle{acmnumeric}\n\\fi\n\\if@ACM@journal\n  \\renewcommand\\keywordsname{Additional Key Words and Phrases}%\n\\else\n  \\renewcommand\\keywordsname{Keywords}%\n\\fi\n\\if@ACM@engage\n   \\renewcommand\\abstractname{Synopsis}%\n\\fi\n\\ifx\\ACM@languages\\@empty\n\\else\n  \\RequirePackage[\\ACM@languages]{babel}%\n  \\addto\\captionsenglish{%\n      \\if@ACM@journal\n        \\renewcommand\\keywordsname{Additional Key Words and Phrases}%\n      \\else\n        \\renewcommand\\keywordsname{Keywords}%\n      \\fi\n      \\renewcommand\\acksname{Acknowledgements}%\n      \\if@ACM@engage\n         \\renewcommand\\abstractname{Synopsis}%\n      \\fi\n  }%\n  \\addto\\captionsfrench{%\n      \\if@ACM@journal\n        \\renewcommand\\keywordsname{Mots Clés et Phrases Supplémentaires}%\n      \\else\n        \\renewcommand\\keywordsname{Mots clés}%\n      \\fi\n      \\renewcommand\\acksname{Remerciements}%\n  }%\n  \\addto\\captionsgerman{%\n      \\if@ACM@journal\n        \\renewcommand\\keywordsname{Zusätzliche Schlagwörter und Phrasen}%\n      \\else\n        \\renewcommand\\keywordsname{Schlagwörter}%\n      \\fi\n      \\renewcommand\\acksname{Danksagungen}%\n  }%\n  \\addto\\captionsspanish{%\n      \\if@ACM@journal\n        \\renewcommand\\keywordsname{Palabras y Frases Claves Adicionales}%\n      \\else\n        \\renewcommand\\keywordsname{Palabras claves}%\n      \\fi\n      \\renewcommand\\acksname{Expresiones de gratitud}%\n  }%\n\\fi\n\\newcommand\\ACM@lang@check[1]{%\n  \\ifx\\ACM@languages\\@empty\\relax\n  \\ClassError{\\@classname}{%\n    Command \\string#1 \\MessageBreak is used in monlingual document}{%\n    You used a command (\\string#1) \\MessageBreak\n    that does not have a meaning \\MessageBreak\n    unless are languages are defined. \\MessageBreak\n    Please choose the languages in \\string\\documentclass\n    \\MessageBreak\n    (e.g. \\string\\documentclass[languages={french, english}]{acmart}),\n    \\MessageBreak\n    or delete the command.}%\n  \\fi}\n\\def\\@translatedtitle{}\n\\newcommand\\translatedtitle[2]{\\ACM@lang@check{\\translatedtitle}%\n\\g@addto@macro\\@translatedtitle{\\par\\foreignlanguage{#1}{#2}}}\n\\def\\@translatedsubtitle{}\n\\newcommand\\translatedsubtitle[2]{\\ACM@lang@check{\\translatedsubtitle}%\n\\g@addto@macro\\@translatedsubtitle{\\par\\foreignlanguage{#1}{#2}}}\n\\def\\@translatedkeywords{}\n\\newcommand\\translatedkeywords[2]{\\ACM@lang@check{\\translatedkeywords}%\n\\g@addto@macro\\@translatedkeywords{\\@mktranslatedkeywords{#1}{#2}}}\n\\def\\@translatedabstracts{}\n\\newenvironment{translatedabstract}[1]{\\Collect@Body\n  \\@savetranslatedabstract\\@mktranslatedabstract{#1}}{}\n\\long\\def\\@savetranslatedabstract#1{\\if@ACM@maketitle@typeset\n  \\ClassError{\\@classname}{Abstract must be defined before maketitle\n    command. Please move it!}\\fi\n  \\ACM@lang@check{translatedabstract}%\n  \\g@addto@macro\\@translatedabstracts{\\bgroup#1\\egroup}}\n\\def\\@startsection#1#2#3#4#5#6{%\n  \\if@noskipsec \\leavevmode \\fi\n  \\par\n  \\@tempskipa #4\\relax\n  \\@afterindenttrue\n  \\ifdim \\@tempskipa <\\z@\n    \\@tempskipa -\\@tempskipa \\@afterindentfalse\n  \\fi\n  \\if@nobreak\n    \\everypar{}%\n  \\else\n    \\addpenalty\\@secpenalty\\addvspace\\@tempskipa\n  \\fi\n  \\@ifstar\n    {\\@ssect{#3}{#4}{#5}{#6}}%\n    {\\@dblarg{\\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}\n\\def\\@sect#1#2#3#4#5#6[#7]#8{%\n  \\edef\\@toclevel{\\ifnum#2=\\@m 0\\else\\number#2\\fi}%\n  \\ifnum #2>\\c@secnumdepth\n    \\let\\@svsec\\@empty\n  \\else\n    \\refstepcounter{#1}%\n    \\protected@edef\\@svsec{\\@seccntformat{#1}\\relax}%\n  \\fi\n  \\@tempskipa #5\\relax\n  \\ifdim \\@tempskipa>\\z@\n    \\begingroup\n      #6{%\n        \\@hangfrom{\\hskip #3\\relax\\@svsec}%\n          \\interlinepenalty \\@M #8\\@@par}%\n    \\endgroup\n    \\csname #1mark\\endcsname{#7}%\n    \\ifnum #2>\\c@secnumdepth \\else\n        \\@tochangmeasure{\\csname the#1\\endcsname}%\n    \\fi\n    \\addcontentsline{toc}{#1}{%\n      \\ifnum #2>\\c@secnumdepth \\else\n        \\protect\\numberline{\\csname the#1\\endcsname}%\n      \\fi\n      #7}%\n  \\else\n    \\def\\@svsechd{%\n      #6{\\hskip #3\\relax\n      \\@svsec #8}%\n      \\csname #1mark\\endcsname{#7}%\n      \\ifnum #2>\\c@secnumdepth \\else\n        \\@tochangmeasure{\\csname the#1\\endcsname\\space}%\n      \\fi\n      \\addcontentsline{toc}{#1}{%\n        \\ifnum #2>\\c@secnumdepth \\else\n          \\protect\\numberline{\\csname the#1\\endcsname}%\n        \\fi\n        #7}}%\n  \\fi\n  \\@xsect{#5}}\n\\def\\@xsect#1{%\n  \\@tempskipa #1\\relax\n  \\ifdim \\@tempskipa>\\z@\n    \\par \\nobreak\n    \\vskip \\@tempskipa\n    \\@afterheading\n  \\else\n    \\@nobreakfalse\n    \\global\\@noskipsectrue\n    \\everypar{%\n      \\if@noskipsec\n        \\global\\@noskipsecfalse\n       {\\setbox\\z@\\lastbox}%\n        \\clubpenalty\\@M\n        \\begingroup \\@svsechd \\endgroup\n        \\unskip\n        \\@tempskipa #1\\relax\n        \\hskip -\\@tempskipa\n      \\else\n        \\clubpenalty \\@clubpenalty\n        \\everypar{}%\n      \\fi}%\n  \\fi\n  \\ignorespaces}\n\\def\\@seccntformat#1{\\csname the#1\\endcsname\\quad}\n\\def\\@ssect#1#2#3#4#5{%\n  \\@tempskipa #3\\relax\n  \\ifdim \\@tempskipa>\\z@\n    \\begingroup\n      #4{%\n        \\@hangfrom{\\hskip #1}%\n          \\interlinepenalty \\@M #5\\@@par}%\n    \\endgroup\n  \\else\n    \\def\\@svsechd{#4{\\hskip #1\\relax #5}}%\n  \\fi\n  \\@xsect{#3}}\n\\def\\@starttoc#1#2{\\begingroup\\makeatletter\n  \\setTrue{#1}%\n  \\par\\removelastskip\\vskip\\z@skip\n  \\@startsection{section}\\@M\\z@{\\linespacing\\@plus\\linespacing}%\n    {.5\\linespacing}{\\centering\\contentsnamefont}{#2}%\n  \\@input{\\jobname.#1}%\n  \\if@filesw\n    \\@xp\\newwrite\\csname tf@#1\\endcsname\n    \\immediate\\@xp\\openout\\csname tf@#1\\endcsname \\jobname.#1\\relax\n  \\fi\n  \\global\\@nobreakfalse \\endgroup\n  \\addvspace{32\\p@\\@plus14\\p@}%\n}\n\\def\\l@section{\\@tocline{1}{0pt}{1pc}{2pc}{}}\n\\def\\l@subsection{\\@tocline{2}{0pt}{1pc}{3pc}{}}\n\\def\\l@subsubsection{\\@tocline{3}{0pt}{1pc}{5pc}{}}\n\\def\\@makefntext{\\noindent\\@makefnmark}\n\\if@ACM@sigchiamode\n\\long\\def\\@footnotetext#1{\\marginpar{%\n    \\reset@font\\small\n    \\interlinepenalty\\interfootnotelinepenalty\n    \\protected@edef\\@currentlabel{%\n       \\csname p@footnote\\endcsname\\@thefnmark\n    }%\n    \\color@begingroup\n      \\@makefntext{%\n        \\rule\\z@\\footnotesep\\ignorespaces#1\\@finalstrut\\strutbox}%\n    \\color@endgroup}}%\n\\fi\n\\long\\def\\@mpfootnotetext#1{%\n  \\global\\setbox\\@mpfootins\\vbox{%\n    \\unvbox\\@mpfootins\n    \\reset@font\\footnotesize\n    \\hsize\\columnwidth\n    \\@parboxrestore\n    \\protected@edef\\@currentlabel\n         {\\csname p@mpfootnote\\endcsname\\@thefnmark}%\n    \\color@begingroup\\centering\n      \\@makefntext{%\n        \\rule\\z@\\footnotesep\\ignorespaces#1\\@finalstrut\\strutbox}%\n    \\color@endgroup}}\n\\def\\@makefnmark{\\hbox{\\@textsuperscript{\\normalfont\\@thefnmark}}}\n\\let\\@footnotemark@nolink\\@footnotemark\n\\let\\@footnotetext@nolink\\@footnotetext\n\\RequirePackage[bookmarksnumbered,unicode]{hyperref}\n\\RequirePackage{hyperxmp}\n\\pdfstringdefDisableCommands{%\n  \\def\\addtocounter#1#2{}%\n  \\def\\unskip{}%\n  \\def\\textbullet{- }%\n  \\def\\textrightarrow{ -> }%\n  \\def\\footnotemark{}%\n}\n\\urlstyle{rm}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n  \\urlstyle{sf}\n\\or % sigchi\n\\or % sigchi-a\n  \\urlstyle{sf}\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\AtEndPreamble{%\n  \\if@ACM@urlbreakonhyphens\n    \\def\\do@url@hyp{\\do\\-}%\n  \\fi\n  \\if@ACM@screen\n    \\hypersetup{colorlinks,\n      linkcolor=ACMPurple,\n      citecolor=ACMPurple,\n      urlcolor=ACMDarkBlue,\n      filecolor=ACMDarkBlue}\n    \\else\n    \\hypersetup{hidelinks}\n  \\fi\n  \\hypersetup{pdflang={en},\n    pdfdisplaydoctitle}}\n\\if@ACM@natbib\n  \\let\\citeN\\cite\n  \\let\\cite\\citep\n  \\let\\citeANP\\citeauthor\n  \\let\\citeNN\\citeyearpar\n  \\let\\citeyearNP\\citeyear\n  \\let\\citeNP\\citealt\n  \\DeclareRobustCommand\\citeA\n     {\\begingroup\\NAT@swafalse\n       \\let\\NAT@ctype\\@ne\\NAT@partrue\\NAT@fullfalse\\NAT@open\\NAT@citetp}%\n  \\providecommand\\newblock{}%\n\\else\n  \\AtBeginDocument{%\n    \\let\\shortcite\\cite%\n    \\providecommand\\citename[1]{#1}}\n\\fi\n\\newcommand\\shortcite[2][]{%\n  \\ifNAT@numbers\\cite[#1]{#2}\\else\\citeyearpar[#1]{#2}\\fi}\n\\def\\bibliographystyle#1{%\n  \\ifx\\@begindocumenthook\\@undefined\\else\n    \\expandafter\\AtBeginDocument\n  \\fi\n    {\\if@filesw\n       \\immediate\\write\\@auxout{\\string\\bibstyle{#1}}%\n     \\fi}}\n\\RequirePackage{graphicx}\n\\RequirePackage[prologue]{xcolor}\n\\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1}\n\\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0}\n\\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01}\n\\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}\n\\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0}\n\\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}\n\\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}\n\\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}\n\\if@ACM@authordraft\n  \\RequirePackage{draftwatermark}\n  \\SetWatermarkFontSize{0.5in}\n  \\SetWatermarkColor[gray]{.9}\n  \\SetWatermarkText{\\parbox{12em}{\\centering\n      Unpublished working draft.\\\\\n      Not for distribution.}}\n\\else\n  \\if@ACM@sigchiamode\n    \\if@ACM@nonacm\\else\n      \\RequirePackage{draftwatermark}\n      \\SetWatermarkFontSize{0.5in}\n      \\SetWatermarkColor[gray]{.9}\n      \\SetWatermarkText{\\parbox{12em}{\\centering\n          Legacy document. \\\\\n          Not for publication in an ACM venue}}\n    \\fi\n  \\fi\n\\fi\n\\RequirePackage{geometry}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n   \\geometry{letterpaper,head=13pt,\n   marginparwidth=6pc,heightrounded}%\n\\or % acmsmall\n   \\geometry{twoside=true,\n     includeheadfoot, head=13pt, foot=2pc,\n     paperwidth=6.75in, paperheight=10in,\n     top=58pt, bottom=44pt, inner=46pt, outer=46pt,\n     marginparwidth=2pc,heightrounded\n   }%\n\\or % acmlarge\n   \\geometry{twoside=true, head=13pt, foot=2pc,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot,\n     top=78pt, bottom=114pt, inner=81pt, outer=81pt,\n     marginparwidth=4pc,heightrounded\n     }%\n\\or % acmtog\n   \\geometry{twoside=true, head=13pt, foot=2pc,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot, columnsep=24pt,\n     top=52pt, bottom=75pt, inner=52pt, outer=52pt,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % sigconf\n   \\geometry{twoside=true, head=13pt,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot, columnsep=2pc,\n     top=57pt, bottom=73pt, inner=54pt, outer=54pt,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % siggraph\n   \\geometry{twoside=true, head=13pt,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot, columnsep=2pc,\n     top=57pt, bottom=73pt, inner=54pt, outer=54pt,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % sigplan\n   \\geometry{twoside=true, head=13pt,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot=false, columnsep=2pc,\n     top=1in, bottom=1in, inner=0.75in, outer=0.75in,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % sigchi\n   \\geometry{twoside=true, head=13pt,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot, columnsep=2pc,\n     top=66pt, bottom=73pt, inner=54pt, outer=54pt,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % sigchi-a\n   \\geometry{twoside=false, head=13pt,\n     paperwidth=11in, paperheight=8.5in,\n     includeheadfoot, marginparsep=72pt,\n     marginparwidth=170pt, columnsep=20pt,\n     top=72pt, bottom=72pt, left=314pt, right=72pt\n     }%\n     \\@mparswitchfalse\n     \\reversemarginpar\n\\or % acmengage\n   \\geometry{twoside=true, head=13pt,\n     paperwidth=8.5in, paperheight=11in,\n     includeheadfoot, columnsep=2pc,\n     top=57pt, bottom=73pt, inner=54pt, outer=54pt,\n     marginparwidth=2pc,heightrounded\n     }%\n\\or % acmcp\n   \\geometry{twoside=true,\n     includeheadfoot, head=13pt, foot=2pc,\n     paperwidth=6.75in, paperheight=10in,\n     top=58pt, bottom=44pt, inner=46pt, outer=46pt,\n     marginparwidth=2pc,heightrounded\n   }%\n\\fi\n\\setlength\\parindent{10\\p@}\n\\setlength\\parskip{\\z@}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n  \\setlength\\parindent{9\\p@}%\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n\\or % sigchi\n\\or % sigchi-a\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\setlength\\normalparindent{\\parindent}\n\\def\\copyrightpermissionfootnoterule{\\kern-3\\p@\n  \\hrule \\@width \\columnwidth \\kern 2.6\\p@}\n\\RequirePackage{manyfoot}\n\\SelectFootnoteRule[2]{copyrightpermission}\n\\DeclareNewFootnote{authorsaddresses}\n\\SelectFootnoteRule[2]{copyrightpermission}\n\\DeclareNewFootnote{copyrightpermission}\n\\def\\footnoterule{\\kern-3\\p@\n  \\hrule \\@width 4pc \\kern 2.6\\p@}\n\\def\\endminipage{%\n    \\par\n    \\unskip\n    \\ifvoid\\@mpfootins\\else\n      \\vskip\\skip\\@mpfootins\n      \\normalcolor\n      \\unvbox\\@mpfootins\n    \\fi\n    \\@minipagefalse\n  \\color@endgroup\n  \\egroup\n  \\expandafter\\@iiiparbox\\@mpargs{\\unvbox\\@tempboxa}}\n\\def\\@textbottom{\\vskip \\z@ \\@plus 1pt}\n\\let\\@texttop\\relax\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n  \\flushbottom\n\\or % sigconf\n  \\flushbottom\n\\or % siggraph\n  \\flushbottom\n\\or % sigplan\n  \\flushbottom\n\\or % sigchi\n  \\flushbottom\n\\or % sigchi-a\n\\or % acmengage\n  \\flushbottom\n\\or % acmcp\n  \\flushbottom\n\\fi\n\\ifPDFTeX\n\\input{glyphtounicode}\n\\pdfglyphtounicode{f_f}{FB00}\n\\pdfglyphtounicode{f_f_i}{FB03}\n\\pdfglyphtounicode{f_f_l}{FB04}\n\\pdfglyphtounicode{f_i}{FB01}\n\\pdfglyphtounicode{t_t}{0074 0074}\n\\pdfglyphtounicode{f_t}{0066 0074}\n\\pdfglyphtounicode{T_h}{0054 0068}\n\\pdfgentounicode=1\n\\RequirePackage{cmap}\n\\fi\n\\newif\\if@ACM@newfonts\n\\@ACM@newfontstrue\n\\IfFileExists{libertine.sty}{}{\\ClassWarning{\\@classname}{You do not\n    have the libertine package installed.  Please upgrade your\n    TeX}\\@ACM@newfontsfalse}\n\\IfFileExists{zi4.sty}{}{\\ClassWarning{\\@classname}{You do not\n    have the inconsolata (zi4.sty) package installed.  Please upgrade your\n    TeX}\\@ACM@newfontsfalse}\n\\IfFileExists{newtxmath.sty}{}{\\ClassWarning{\\@classname}{You do not\n    have the newtxmath package installed.  Please upgrade your\n    TeX}\\@ACM@newfontsfalse}\n\\if@ACM@newfonts\n  \\RequirePackage[T1]{fontenc}\n  % Note that the order in which packages are loaded matters,\n  % and the correct order depends on the LaTeX engine used.\n  % See https://github.com/borisveytsman/acmart/issues/402\n  % and https://github.com/borisveytsman/acmart/issues/410\n  \\ifxetex\n    \\RequirePackage[libertine]{newtxmath}\n    \\RequirePackage[tt=false]{libertine}\n    \\setmonofont[StylisticSet=3]{inconsolata}\n  \\else\n    \\ifluatex\n      \\RequirePackage[libertine]{newtxmath}\n      \\RequirePackage[tt=false]{libertine}\n      \\setmonofont[StylisticSet=3]{inconsolata}\n    \\else\n       \\RequirePackage[tt=false, type1=true]{libertine}\n       \\RequirePackage[varqu]{zi4}\n       \\RequirePackage[libertine]{newtxmath}\n    \\fi\n  \\fi\n\\fi\n\\let\\liningnums\\@undefined\n\\AtEndPreamble{%\n  \\DeclareTextFontCommand{\\liningnums}{\\libertineLF}}\n\\if@ACM@sigchiamode\n  \\renewcommand{\\familydefault}{\\sfdefault}\n\\fi\n\\newif\\if@Description@present\n\\@Description@presenttrue\n\\newif\\if@undescribed@images\n\\@undescribed@imagesfalse\n\\newcommand\\Description[2][]{\\global\\@Description@presenttrue\\ignorespaces}\n\\AtEndDocument{\\if@undescribed@images\n  \\ClassWarningNoLine{\\@classname}{Some images may lack descriptions}\\fi}\n\\AtBeginEnvironment{figure}{\\@Description@presentfalse\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{figure*}{\\@Description@presentfalse\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtEndEnvironment{figure}{\\if@Description@present\\else\n  \\global\\@undescribed@imagestrue\n  \\ClassWarning{\\@classname}{A possible image without description}\\fi}\n\\AtEndEnvironment{figure*}{\\if@Description@present\\else\n  \\global\\@undescribed@imagestrue\n  \\ClassWarning{\\@classname}{A possible image without description}\\fi}\n\\AtBeginEnvironment{table}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{table*}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{algorithm}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{algorithm*}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{lstlisting}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{lstlisting*}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{minted}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{minted*}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{listing}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\\AtBeginEnvironment{listing*}{\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig}\n\n\\RequirePackage{caption, float}\n\\captionsetup[table]{position=top}\n\\if@ACM@journal\n  \\captionsetup{labelfont={sf, small},\n    textfont={sf, small}, margin=\\z@}\n  \\captionsetup[figure]{name={Fig.}}\n\\else\n  \\captionsetup{labelfont={bf},\n    textfont={bf}, labelsep=colon, margin=\\z@}\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n  \\or % acmsmall\n  \\or % acmlarge\n  \\or % acmtog\n  \\or % sigconf\n  \\or % siggraph\n    \\captionsetup{textfont={it}}\n  \\or % sigplan\n    \\captionsetup{labelfont={bf},\n      textfont={normalfont}, labelsep=period, margin=\\z@}\n  \\or % sigchi\n    \\captionsetup[figure]{labelfont={bf, small},\n      textfont={bf, small}}\n    \\captionsetup[table]{labelfont={bf, small},\n      textfont={bf, small}}\n  \\or % sigchi-a\n    \\captionsetup[figure]{labelfont={bf, small},\n      textfont={bf, small}}\n    \\captionsetup[table]{labelfont={bf, small},\n      textfont={bf, small}}\n  \\or % acmengage\n  \\or % acmcp\n  \\fi\n\\fi\n\\newfloat{sidebar}{}{sbar}\n\\floatname{sidebar}{Sidebar}\n\\renewenvironment{sidebar}{\\Collect@Body\\@sidebar}{}\n\\long\\def\\@sidebar#1{\\bgroup\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\\captionsetup{type=sidebar}%\n  \\marginpar{\\small#1}\\egroup}\n\\newenvironment{marginfigure}{\\Collect@Body\\@marginfigure}{}\n\\long\\def\\@marginfigure#1{\\bgroup\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\n  \\captionsetup{type=figure}%\n  \\marginpar{\\@Description@presentfalse\\centering\n    \\small#1\\if@Description@present\\else\n      \\global\\@undescribed@imagestrue\n      \\ClassWarning{\\@classname}{A possible image without description}\n      \\fi}%\n  \\egroup}\n\\newenvironment{margintable}{\\Collect@Body\\@margintable}{}\n\\long\\def\\@margintable#1{\\bgroup\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\\captionsetup{type=table}%\n  \\marginpar{\\centering\\small#1}\\egroup}\n\\newdimen\\fulltextwidth\n\\fulltextwidth=\\dimexpr(\\textwidth+\\marginparwidth+\\marginparsep)\n\\if@ACM@sigchiamode\n\\def\\@dblfloat{\\bgroup\\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\\columnwidth=\\fulltextwidth\n  \\let\\@endfloatbox\\@endwidefloatbox\n  \\def\\@fpsadddefault{\\def\\@fps{tp}}%\n  \\@float}\n\\fi\n\\if@ACM@sigchiamode\n\\def\\end@dblfloat{%\n    \\end@float\\egroup}\n\\fi\n\\def\\@endwidefloatbox{%\n  \\par\\vskip\\z@skip\n  \\@minipagefalse\n  \\outer@nobreak\n  \\egroup\n  \\color@endbox\n  \\global\\setbox\\@currbox=\\vbox{\\moveleft\n    \\dimexpr(\\fulltextwidth-\\textwidth)\\box\\@currbox}%\n  \\wd\\@currbox=\\textwidth\n}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n\\def\\labelenumi{\\theenumi.}\n\\def\\labelenumii{\\theenumii.}\n\\def\\labelenumiii{\\theenumiii.}\n\\def\\labelenumiv{\\theenumiv.}\n\\or % sigchi\n\\or % sigchi-a\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\newdimen\\@ACM@labelwidth\n\\AtBeginDocument{%\n  \\setlength\\labelsep{4pt}\n  \\setlength{\\@ACM@labelwidth}{6.5pt}\n\n  %% First-level list: when beginning after the first line of an\n  %% indented paragraph or ending before an indented paragraph, labels\n  %% should not hang to the left of the preceding/following text.\n  \\setlength\\leftmargini{\\z@}\n  \\addtolength\\leftmargini{\\parindent}\n  \\addtolength\\leftmargini{2\\labelsep}\n  \\addtolength\\leftmargini{\\@ACM@labelwidth}\n\n  %% Second-level and higher lists.\n  \\setlength\\leftmarginii{\\z@}\n  \\addtolength\\leftmarginii{0.5\\labelsep}\n  \\addtolength\\leftmarginii{\\@ACM@labelwidth}\n  \\setlength\\leftmarginiii{\\leftmarginii}\n  \\setlength\\leftmarginiv{\\leftmarginiii}\n  \\setlength\\leftmarginv{\\leftmarginiv}\n  \\setlength\\leftmarginvi{\\leftmarginv}\n  \\@listi}\n\\newskip\\listisep\n\\listisep\\smallskipamount\n\\def\\@listI{\\leftmargin\\leftmargini\n  \\labelwidth\\leftmargini \\advance\\labelwidth-\\labelsep\n  \\listparindent\\z@\n  \\topsep\\listisep}\n\\let\\@listi\\@listI\n\\def\\@listii{\\leftmargin\\leftmarginii\n  \\labelwidth\\leftmarginii \\advance\\labelwidth-\\labelsep\n  \\topsep\\z@skip}\n\\def\\@listiii{\\leftmargin\\leftmarginiii\n  \\labelwidth\\leftmarginiii \\advance\\labelwidth-\\labelsep}\n\\def\\@listiv{\\leftmargin\\leftmarginiv\n  \\labelwidth\\leftmarginiv \\advance\\labelwidth-\\labelsep}\n\\def\\@listv{\\leftmargin\\leftmarginv\n  \\labelwidth\\leftmarginv \\advance\\labelwidth-\\labelsep}\n\\def\\@listvi{\\leftmargin\\leftmarginvi\n  \\labelwidth\\leftmarginvi \\advance\\labelwidth-\\labelsep}\n\\renewcommand{\\descriptionlabel}[1]{\\upshape\\bfseries #1}\n\\renewenvironment{description}{\\list{}{%\n    \\labelwidth\\@ACM@labelwidth\n    \\let\\makelabel\\descriptionlabel}%\n}{\n  \\endlist\n}\n\\let\\enddescription=\\endlist % for efficiency\n\\newif\\if@ACM@maketitle@typeset\n\\@ACM@maketitle@typesetfalse\n\\define@choicekey*+{ACM}{acmJournal}[\\@journalCode\\@journalCode@nr]{%\n  ACMJCSS,%\n  CIE,%\n  CSUR,%\n  DGOV,%\n  DLT,%\n  DTRAP,%\n  FAC,%\n  GAMES,%\n  HEALTH,%\n  IMWUT,%\n  JACM,%\n  JATS,%\n  JDIQ,%\n  JDS,%\n  JEA,%\n  JERIC,%\n  JETC,%\n  JOCCH,%\n  JRC,%\n  PACMCGIT,%\n  PACMHCI,%\n  PACMMOD,%\n  PACMNET,%\n  PACMPL,%\n  PACMSE,%\n  POMACS,%\n  TAAS,%\n  TACCESS,%\n  TACO,%\n  TALG,%\n  TALLIP,%\n  TAP,%\n  TCPS,%\n  TDS,%\n  TEAC,%\n  TECS,%\n  TELO,%\n  THRI,%\n  TIIS,%\n  TIOT,%\n  TISSEC,%\n  TIST,%\n  TKDD,%\n  TMIS,%\n  TOCE,%\n  TOCHI,%\n  TOCL,%\n  TOCS,%\n  TOCT,%\n  TODAES,%\n  TODS,%\n  TOG,%\n  TOIS,%\n  TOIT,%\n  TOMACS,%\n  TOMM,%\n  TOMPECS,%\n  TOMS,%\n  TOPC,%\n  TOPS,%\n  TOPLAS,%\n  TOPML,%\n  TORS,%\n  TOS,%\n  TOSEM,%\n  TOSN,%\n  TQC,%\n  TRETS,%\n  TSAS,%\n  TSC,%\n  TSLP,%\n  TWEB,%\n  FACMP%\n}{%\n\\ifcase\\@journalCode@nr\n\\relax % ACMJCSS\n  \\def\\@journalName{ACM Journal on Computing and Sustainable Societies}%\n  \\def\\@journalNameShort{ACM J. Comput. Sustain. Soc.}%\n  \\def\\@permissionCodeOne{2834-5533}%\n\\or % CIE\n  \\def\\@journalName{ACM Computers in Entertainment}%\n  \\def\\@journalNameShort{ACM Comput. Entertain.}%\n  \\def\\@permissionCodeOne{1544-3574}%\n\\or % CSUR\n  \\def\\@journalName{ACM Computing Surveys}%\n  \\def\\@journalNameShort{ACM Comput. Surv.}%\n  \\def\\@permissionCodeOne{0360-0300}%\n\\or % DGOV\n  \\def\\@journalName{Digital Government: Research and Practice}%\n  \\def\\@journalNameShort{Digit. Gov. Res. Pract.}%\n  \\def\\@permissionCodeOne{2639-0175}%\n\\or % DLT\n  \\def\\@journalName{Distributed Ledger Technologies: Research and Practice}%\n  \\def\\@journalNameShort{Distrib. Ledger Technol.}%\n  \\def\\@permissionCodeOne{2769-6472}%\n\\or % DTRAP\n  \\def\\@journalName{Digital Threats: Research and Practice}%\n  \\def\\@journalNameShort{Digit. Threat. Res. Pract.}%\n  \\def\\@permissionCodeOne{2576-5337}%\n\\or % FAC\n  \\def\\@journalName{Formal Aspects of Computing}%\n  \\def\\@journalNameShort{Form. Asp. Comput.}%\n  \\def\\@permissionCodeOne{0934-5043}%\n  \\def\\@permissionCodeTwo{1433-299X}%\n\\or % GAMES\n  \\def\\@journalName{ACM Games: Research and Practice}%\n  \\def\\@journalNameShort{ACM Games}%\n  \\def\\@permissionCodeOne{2832-5516}%\n\\or % HEALTH\n  \\def\\@journalName{ACM Transactions on Computing for Healthcare}%\n  \\def\\@journalNameShort{ACM Trans. Comput. Healthcare}%\n  \\def\\@permissionCodeOne{2637-8051}%\n\\or % IMWUT\n  \\def\\@journalName{Proceedings of the ACM on Interactive, Mobile,\n    Wearable and Ubiquitous Technologies}%\n  \\def\\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%\n  \\def\\@permissionCodeOne{2474-9567}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % JACM\n  \\def\\@journalName{Journal of the ACM}%\n  \\def\\@journalNameShort{J. ACM}%\n  \\def\\@permissionCodeOne{0004-5411}%\n\\or % JATS\n  \\def\\@journalName{Journal on Autonomous Transportation Systems}%\n  \\def\\@journalNameShort{ACM J. Auton. Transport. Syst.}%\n  \\def\\@permissionCodeOne{2833-0528}%\n\\or % JDIQ\n  \\def\\@journalName{ACM Journal of Data and Information Quality}%\n  \\def\\@journalNameShort{ACM J. Data Inform. Quality}%\n  \\def\\@permissionCodeOne{1936-1955}%\n\\or % JDS\n  \\def\\@journalName{ACM/JMS Journal of Data Science}%\n  \\def\\@journalNameShort{ACM/IMS J. Data Sci.}%\n  \\def\\@permissionCodeOne{2831-3194}%\n  \\def\\@permissionCodeTwo{2831-3194}%\n\\or % JEA\n  \\def\\@journalName{ACM Journal of Experimental Algorithmics}%\n  \\def\\@journalNameShort{ACM J. Exp. Algor.}%\n  \\def\\@permissionCodeOne{1084-6654}%\n\\or % JERIC\n  \\def\\@journalName{ACM Journal of Educational Resources in Computing}%\n  \\def\\@journalNameShort{ACM J. Edu. Resources in Comput.}%\n  \\def\\@permissionCodeOne{1073-0516}%\n\\or % JETC\n  \\def\\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%\n  \\def\\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%\n  \\def\\@permissionCodeOne{1550-4832}%\n\\or % JOCCH\n  \\def\\@journalName{ACM Journal on Computing and Cultural Heritage}%\n  \\def\\@journalNameShort{ACM J. Comput. Cult. Herit.}%\n  \\def\\@permissionCodeOne{1556-4673}%\n  \\def\\@permissionCodeTwo{1556-4711}%\n\\or % JRC\n  \\def\\@journalName{ACM Journal on Responsible Computing}%\n  \\def\\@journalNameShort{ACM J. Responsib. Comput.}%\n  \\def\\@permissionCodeOne{2832-0565}%\n\\or % PACMCGIT\n  \\def\\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%\n  \\def\\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%\n  \\def\\@permissionCodeOne{2577-6193}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % PACMHCI\n  \\def\\@journalName{Proceedings of the ACM on Human-Computer Interaction}%\n  \\def\\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%\n  \\def\\@permissionCodeOne{2573-0142}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % PACMMOD\n  \\def\\@journalName{Proceedings of the ACM on Management of Data}%\n  \\def\\@journalNameShort{Proc. ACM Manag. Data}%\n  \\def\\@permissionCodeOne{2836-6573}%\n\\or % PACMNET\n  \\def\\@journalName{Proceedings of the ACM on Networkng}%\n  \\def\\@journalNameShort{Proc. ACM Netw.}%\n  \\def\\@permissionCodeOne{2834-5509}%\n\\or % PACMPL\n  \\def\\@journalName{Proceedings of the ACM on Programming Languages}%\n  \\def\\@journalNameShort{Proc. ACM Program. Lang.}%\n  \\def\\@permissionCodeOne{2475-1421}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % PACMSE\n  \\def\\@journalName{Proceedings of the ACM on Software Engineering}%\n  \\def\\@journalNameShort{Proc. ACM Softw. Eng.}%\n  \\def\\@permissionCodeOne{2994-970X}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % POMACS\n  \\def\\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%\n  \\def\\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%\n  \\def\\@permissionCodeOne{2476-1249}%\n  \\@ACM@screentrue\n  \\PackageInfo{\\@classname}{Using screen mode due to \\@journalCode}%\n\\or % TAAS\n  \\def\\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%\n  \\def\\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%\n  \\def\\@permissionCodeOne{1556-4665}%\n\\or % TACCESS\n  \\def\\@journalName{ACM Transactions on Accessible Computing}%\n  \\def\\@journalNameShort{ACM Trans. Access. Comput.}%\n  \\def\\@permissionCodeOne{1936-7228}%\n\\or % TACO\n  \\def\\@journalName{ACM Transactions on Architecture and Code Optimization}%\n  \\def\\@journalNameShort{ACM Trans. Arch. Code Optim.}%\n  \\def\\@permissionCodeOne{1544-3566}%\n  \\def\\@permissionCodeTwo{1544-3973}%\n\\or % TALG\n  \\def\\@journalName{ACM Transactions on Algorithms}%\n  \\def\\@journalNameShort{ACM Trans. Algor.}%\n  \\def\\@permissionCodeOne{1549-6325}%\n\\or % TALLIP\n  \\def\\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%\n  \\def\\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%\n  \\def\\@permissionCodeOne{2375-4699}%\n\\or % TAP\n  \\def\\@journalName{ACM Transactions on Applied Perception}%\n  \\def\\@journalNameShort{ACM Trans. Appl. Percept.}%\n  \\def\\@permissionCodeOne{1544-3558}%\n\\or % TCPS\n  \\def\\@journalName{ACM Transactions on Cyber-Physical Systems}%\n  \\def\\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}%\n  \\def\\@permissionCodeOne{2378-962X}%\n\\or % TDS\n  \\def\\@journalName{ACM/IMS Transactions on Data Science}%\n  \\def\\@journalNameShort{ACM/IMS Trans. Data Sci.}%\n  \\def\\@permissionCodeOne{2577-3224}%\n\\or % TEAC\n  \\def\\@journalName{ACM Transactions on Economics and Computation}%\n  \\def\\@journalNameShort{ACM Trans. Econ. Comput.}%\n  \\def\\@permissionCodeOne{2167-8375}%\n\\or % TECS\n  \\def\\@journalName{ACM Transactions on Embedded Computing Systems}%\n  \\def\\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%\n  \\def\\@permissionCodeOne{1539-9087}%\n\\or % TELO\n  \\def\\@journalName{ACM Transactions on Evolutionary Learning}%\n  \\def\\@journalNameShort{ACM Trans. Evol. Learn.}%\n  \\def\\@permissionCodeOne{2688-3007}%\n\\or % THRI\n  \\def\\@journalName{ACM Transactions on Human-Robot Interaction}%\n  \\def\\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%\n  \\def\\@permissionCodeOne{2573-9522}%\n\\or % TIIS\n  \\def\\@journalName{ACM Transactions on Interactive Intelligent Systems}%\n  \\def\\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%\n  \\def\\@permissionCodeOne{2160-6455}%\n\\or % TIOT\n  \\def\\@journalName{ACM Transactions on Internet of Things}%\n  \\def\\@journalNameShort{ACM Trans. Internet Things}%\n  \\def\\@permissionCodeOne{2577-6207}%\n\\or % TISSEC\n  \\def\\@journalName{ACM Transactions on Information and System Security}%\n  \\def\\@journalNameShort{ACM Trans. Info. Syst. Sec.}%\n  \\def\\@permissionCodeOne{1094-9224}%\n\\or % TIST\n  \\def\\@journalName{ACM Transactions on Intelligent Systems and Technology}%\n  \\def\\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%\n  \\def\\@permissionCodeOne{2157-6904}%\n\\or % TKDD\n  \\def\\@journalName{ACM Transactions on Knowledge Discovery from Data}%\n  \\def\\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%\n  \\def\\@permissionCodeOne{1556-4681}%\n\\or % TMIS\n  \\def\\@journalName{ACM Transactions on Management Information Systems}%\n  \\def\\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%\n  \\def\\@permissionCodeOne{2158-656X}%\n\\or % TOCE\n  \\def\\@journalName{ACM Transactions on Computing Education}%\n  \\def\\@journalNameShort{ACM Trans. Comput. Educ.}%\n  \\def\\@permissionCodeOne{1946-6226}%\n\\or % TOCHI\n  \\def\\@journalName{ACM Transactions on Computer-Human Interaction}%\n  \\def\\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%\n  \\def\\@permissionCodeOne{1073-0516}%\n\\or % TOCL\n  \\def\\@journalName{ACM Transactions on Computational Logic}%\n  \\def\\@journalNameShort{ACM Trans. Comput. Logic}%\n  \\def\\@permissionCodeOne{1529-3785}%\n\\or % TOCS\n  \\def\\@journalName{ACM Transactions on Computer Systems}%\n  \\def\\@journalNameShort{ACM Trans. Comput. Syst.}%\n  \\def\\@permissionCodeOne{0734-2071}%\n\\or % TOCT\n  \\def\\@journalName{ACM Transactions on Computation Theory}%\n  \\def\\@journalNameShort{ACM Trans. Comput. Theory}%\n  \\def\\@permissionCodeOne{1942-3454}%\n\\or % TODAES\n  \\def\\@journalName{ACM Transactions on Design Automation of Electronic Systems}%\n  \\def\\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%\n  \\def\\@permissionCodeOne{1084-4309}%\n\\or % TODS\n  \\def\\@journalName{ACM Transactions on Database Systems}%\n  \\def\\@journalNameShort{ACM Trans. Datab. Syst.}%\n  \\def\\@permissionCodeOne{0362-5915}%\n\\or % TOG\n  \\def\\@journalName{ACM Transactions on Graphics}%\n  \\def\\@journalNameShort{ACM Trans. Graph.}%\n  \\def\\@permissionCodeOne{0730-0301}\n\\or % TOIS\n  \\def\\@journalName{ACM Transactions on Information Systems}%\n  \\def\\@journalNameShort{ACM Trans. Inf. Syst.}%\n  \\def\\@permissionCodeOne{1046-8188}%\n\\or % TOIT\n  \\def\\@journalName{ACM Transactions on Internet Technology}%\n  \\def\\@journalNameShort{ACM Trans. Internet Technol.}%\n  \\def\\@permissionCodeOne{1533-5399}%\n\\or % TOMACS\n  \\def\\@journalName{ACM Transactions on Modeling and Computer Simulation}%\n  \\def\\@journalNameShort{ACM Trans. Model. Comput. Simul.}%\n  \\def\\@permissionCodeOne{1049-3301}%\n  \\def\\@permissionCodeTwo{1558-1195}%\n\\or % TOMM\n  \\def\\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%\n  \\def\\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%\n  \\def\\@permissionCodeOne{1551-6857}%\n  \\def\\@permissionCodeTwo{1551-6865}%\n\\or % TOMPECS\n  \\def\\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%\n  \\def\\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%\n  \\def\\@permissionCodeOne{2376-3639}%\n\\or % TOMS\n  \\def\\@journalName{ACM Transactions on Mathematical Software}%\n  \\def\\@journalNameShort{ACM Trans. Math. Softw.}%\n  \\def\\@permissionCodeOne{0098-3500}%\n\\or % TOPC\n  \\def\\@journalName{ACM Transactions on Parallel Computing}%\n  \\def\\@journalNameShort{ACM Trans. Parallel Comput.}%\n  \\def\\@permissionCodeOne{2329-4949}%\n  \\def\\@permissionCodeTwo{2329-4957}%\n\\or % TOPS\n  \\def\\@journalName{ACM Transactions on Privacy and Security}%\n  \\def\\@journalNameShort{ACM Trans. Priv. Sec.}%\n  \\def\\@permissionCodeOne{2471-2566}%\n\\or % TOPLAS\n  \\def\\@journalName{ACM Transactions on Programming Languages and Systems}%\n  \\def\\@journalNameShort{ACM Trans. Program. Lang. Syst.}%\n  \\def\\@permissionCodeOne{0164-0925}%\n\\or % TOPML\n  \\def\\@journalName{ACM Transactions on Probabilistic Machine Learning}%\n  \\def\\@journalNameShort{ACM Trans. Probab. Mach. Learn.}%\n  \\def\\@permissionCodeOne{2836-8924}%\n\\or % TORS\n  \\def\\@journalName{ACM Transactions on Recommender Systems}%\n  \\def\\@journalNameShort{ACM Trans. Recomm. Syst.}%\n  \\def\\@permissionCodeOne{2770-6699}%\n\\or % TOS\n  \\def\\@journalName{ACM Transactions on Storage}%\n  \\def\\@journalNameShort{ACM Trans. Storage}%\n  \\def\\@permissionCodeOne{1553-3077}%\n\\or % TOSEM\n  \\def\\@journalName{ACM Transactions on Software Engineering and Methodology}%\n  \\def\\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%\n  \\def\\@permissionCodeOne{1049-331X}%\n\\or % TOSN\n  \\def\\@journalName{ACM Transactions on Sensor Networks}%\n  \\def\\@journalNameShort{ACM Trans. Sensor Netw.}%\n  \\def\\@permissionCodeOne{1550-4859}%\n\\or % TQC\n  \\def\\@journalName{ACM Transactions on Quantum Computing}%\n  \\def\\@journalNameShort{ACM Trans. Quantum Comput.}%\n  \\def\\@permissionCodeOne{2643-6817}%\n\\or % TRETS\n  \\def\\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%\n  \\def\\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%\n  \\def\\@permissionCodeOne{1936-7406}%\n\\or % TSAS\n  \\def\\@journalName{ACM Transactions on Spatial Algorithms and Systems}%\n  \\def\\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%\n  \\def\\@permissionCodeOne{2374-0353}%\n\\or % TSC\n  \\def\\@journalName{ACM Transactions on Social Computing}%\n  \\def\\@journalNameShort{ACM Trans. Soc. Comput.}%\n  \\def\\@permissionCodeOne{2469-7818}%\n\\or % TSLP\n  \\def\\@journalName{ACM Transactions on Speech and Language Processing}%\n  \\def\\@journalNameShort{ACM Trans. Speech Lang. Process.}%\n  \\def\\@permissionCodeOne{1550-4875}%\n\\or % TWEB\n  \\def\\@journalName{ACM Transactions on the Web}%\n  \\def\\@journalNameShort{ACM Trans. Web}%\n  \\def\\@permissionCodeOne{1559-1131}%\n\\else % FACMP, a dummy journal\n  \\def\\@journalName{ACM Just Accepted}%\n  \\def\\@journalNameShort{ACM Accepted}%\n  \\def\\@permissionCodeOne{XXXX-XXXX}%\n\\fi\n\\ClassInfo{\\@classname}{Using journal code \\@journalCode}%\n}{%\n  \\ClassError{\\@classname}{Incorrect journal #1}%\n}%\n\\def\\acmJournal#1{\\setkeys{ACM}{acmJournal=#1}%\n  \\global\\@ACM@journal@bibstriptrue}\n\\def\\@journalCode@nr{0}\n\\def\\@journalName{}%\n\\def\\@journalNameShort{\\@journalName}%\n\\def\\@permissionCodeOne{XXXX-XXXX}%\n\\def\\@permissionCodeTwo{}%\n\\newcommand\\acmConference[4][]{%\n  \\gdef\\acmConference@shortname{#1}%\n  \\gdef\\acmConference@name{#2}%\n  \\gdef\\acmConference@date{#3}%\n  \\gdef\\acmConference@venue{#4}%\n  \\ifx\\acmConference@shortname\\@empty\n    \\gdef\\acmConference@shortname{#2}%\n  \\fi\n  \\global\\@ACM@journal@bibstripfalse\n}\n\\if@ACM@journal\\else\n\\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,\n  DC, USA}%\n\\fi\n\\def\\acmBooktitle#1{\\gdef\\@acmBooktitle{#1}}\n\\acmBooktitle{}\n\\ifx\\acmConference@name\\@undefined\\else\n\\acmBooktitle{Proceedings of \\acmConference@name\n       \\ifx\\acmConference@name\\acmConference@shortname\\else\n       \\ (\\acmConference@shortname)\\fi}\n\\fi\n\\def\\@editorsAbbrev{(Ed.)}\n\\def\\@acmEditors{}\n\\def\\editor#1{\\ifx\\@acmEditors\\@empty\n    \\gdef\\@acmEditors{#1}%\n  \\else\n    \\gdef\\@editorsAbbrev{(Eds.)}%\n    \\g@addto@macro\\@acmEditors{\\and#1}%\n\\fi}\n\\def\\subtitle#1{\\def\\@subtitle{#1}}\n\\subtitle{}\n\\newcount\\num@authorgroups\n\\num@authorgroups=0\\relax\n\\newcount\\num@authors\n\\num@authors=0\\relax\n\\newif\\if@insideauthorgroup\n\\@insideauthorgroupfalse\n\\renewcommand\\author[2][]{%\n  \\IfSubStr{\\detokenize{#2}}{,}{\\ClassWarning{\\@classname}{Do not put several\n      authors in the same \\string\\author\\space macro!}}{}%\n  \\global\\advance\\num@authors by 1\\relax\n  \\if@insideauthorgroup\\else\n    \\global\\advance\\num@authorgroups by 1\\relax\n    \\global\\@insideauthorgrouptrue\n  \\fi\n  \\ifx\\addresses\\@empty\n    \\if@ACM@anonymous\n      \\gdef\\addresses{\\@author{Anonymous Author(s)%\n        \\ifx\\@acmSubmissionID\\@empty\\else\\\\Submission Id:\n          \\@acmSubmissionID\\fi}}%\n      \\gdef\\authors{Anonymous Author(s)}%\n    \\else\n      \\expandafter\\gdef\\expandafter\\addresses\\expandafter{%\n        \\expandafter\\@author\\expandafter{%\n          \\csname typeset@author\\the\\num@authors\\endcsname{#2}}}%\n      \\gdef\\authors{#2}%\n    \\fi\n  \\else\n    \\if@ACM@anonymous\\else\n    \\expandafter\\g@addto@macro\\expandafter\\addresses\\expandafter{%\n      \\expandafter\\and\\expandafter\\@author\\expandafter{%\n        \\csname typeset@author\\the\\num@authors\\endcsname{#2}}}%\n      \\g@addto@macro\\authors{\\and#2}%\n    \\fi\n  \\fi\n  \\if@ACM@anonymous\n    \\ifx\\shortauthors\\@empty\n      \\gdef\\shortauthors{Anon.\n        \\ifx\\@acmSubmissionID\\@empty\\else Submission Id:\n        \\@acmSubmissionID\\fi}%\n    \\fi\n  \\else\n    \\def\\@tempa{#1}%\n    \\ifx\\@tempa\\@empty\n      \\ifx\\shortauthors\\@empty\n        \\gdef\\shortauthors{#2}%\n      \\else\n        \\g@addto@macro\\shortauthors{\\and#2}%\n      \\fi\n    \\else\n      \\ifx\\shortauthors\\@empty\n        \\gdef\\shortauthors{#1}%\n      \\else\n        \\g@addto@macro\\shortauthors{\\and#1}%\n      \\fi\n    \\fi\n  \\fi}\n\\newcommand{\\affiliation}[2][]{%\n  \\global\\@insideauthorgroupfalse\n  \\if@ACM@anonymous\\else\n    \\g@addto@macro\\addresses{\\affiliation{#1}{#2}}%\n  \\fi}\n\\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%\n[true]{}{\\ClassError{\\@classname}{The option obeypunctuation can be either true or false}}\n\\def\\additionalaffiliation#1{\\authornote{\\@additionalaffiliation{#1}}}\n\\def\\@additionalaffiliation#1{\\bgroup\n  \\def\\position##1{\\ignorespaces}%\n  \\def\\institution##1{##1\\ignorespaces}%\n  \\def\\department{\\@ifnextchar[{\\@department}{\\@department[]}}%\n  \\def\\@department[##1]##2{\\unskip, ##2\\ignorespaces}%\n  \\let\\streetaddress\\position\n  \\let\\city\\position\n  \\let\\state\\position\n  \\let\\postcode\\position\n  \\let\\country\\position\n  Also with #1\\unskip.\\egroup}\n\\renewcommand{\\email}[2][]{%\n  \\IfSubStr{#2}{,}{\\ClassWarning{\\@classname}{Do not put several\n      addresses in the same \\string\\email\\space macro!}}{}%\n  \\if@ACM@anonymous\\else\n    \\g@addto@macro\\addresses{\\email{#1}{#2}}%\n  \\fi}\n\\def\\orcid#1{\\unskip\\ignorespaces%\n  \\IfBeginWith{#1}{http}{%\n    \\expandafter\\gdef\\csname\n        typeset@author\\the\\num@authors\\endcsname##1{%\n          \\href{#1}{##1}}}{%\n    \\expandafter\\gdef\\csname\n        typeset@author\\the\\num@authors\\endcsname##1{%\n          \\href{https://orcid.org/#1}{##1}}}}\n\\def\\authorsaddresses#1{\\def\\@authorsaddresses{#1}}\n\\authorsaddresses{\\@mkauthorsaddresses}\n\\newcommand\\@mktranslatedkeywords[2]{\\bgroup\n  \\selectlanguage{#1}%\n  {\\@specialsection{\\keywordsname}%\n    \\noindent#2\\par}\\egroup}\n\\def\\@titlenotes{}\n\\def\\titlenote#1{%\n  \\g@addto@macro\\@title{\\footnotemark}%\n  \\if@ACM@anonymous\n    \\g@addto@macro\\@titlenotes{%\n      \\stepcounter{footnote}\\footnotetext{Title note}}%\n  \\else\n    \\g@addto@macro\\@titlenotes{\\stepcounter{footnote}\\footnotetext{#1}}%\n  \\fi}\n\\def\\@subtitlenotes{}\n\\def\\subtitlenote#1{%\n  \\g@addto@macro\\@subtitle{\\footnotemark}%\n  \\if@ACM@anonymous\n    \\g@addto@macro\\@subtitlenotes{%\n      \\stepcounter{footnote}\\footnotetext{Subtitle note}}%\n  \\else\n    \\g@addto@macro\\@subtitlenotes{%\n      \\stepcounter{footnote}\\footnotetext{#1}}%\n  \\fi}\n\\def\\@authornotes{}\n\\def\\authornote#1{%\n  \\if@ACM@anonymous\\else\n    \\g@addto@macro\\addresses{\\@authornotemark}%\n    \\g@addto@macro\\@authornotes{%\n      \\stepcounter{footnote}\\footnotetext{#1}}%\n  \\fi}\n\\newcommand\\authornotemark[1][\\relax]{%\n  \\ifx#1\\relax\\relax\\relax\n  \\g@addto@macro\\addresses{\\@authornotemark}%\n  \\else\n  \\g@addto@macro\\addresses{\\@@authornotemark{#1}}%\n  \\fi}\n\\def\\acmVolume#1{\\def\\@acmVolume{#1}}\n\\acmVolume{1}\n\\def\\acmNumber#1{\\def\\@acmNumber{#1}}\n\\acmNumber{1}\n\\def\\acmArticle#1{\\def\\@acmArticle{#1}}\n\\acmArticle{}\n\\def\\acmArticleSeq#1{\\def\\@acmArticleSeq{#1}}\n\\acmArticleSeq{\\@acmArticle}\n\\def\\acmYear#1{\\def\\@acmYear{#1}}\n\\acmYear{\\the\\year}\n\\def\\acmMonth#1{\\def\\@acmMonth{#1}}\n\\acmMonth{\\the\\month}\n\\def\\@acmPubDate{\\ifcase\\@acmMonth\\or\n  January\\or February\\or March\\or April\\or May\\or June\\or\n  July\\or August\\or September\\or October\\or November\\or\n  December\\fi~\\@acmYear}\n\\def\\acmPrice#1{\\ClassWarning{\\@classname}{The macro \\string\\acmPrice\n    is obsolete.  ACM no longer prints the price in bibstrip.}}\n\\def\\acmSubmissionID#1{\\def\\@acmSubmissionID{#1}}\n\\acmSubmissionID{}\n\\def\\acmISBN#1{\\def\\@acmISBN{#1}}\n\\acmISBN{978-x-xxxx-xxxx-x/YY/MM}\n\\def\\acmDOI#1{\\def\\@acmDOI{#1}}\n\\acmDOI{10.1145/nnnnnnn.nnnnnnn}\n\\newlength\\@ACM@badge@width\n\\setlength\\@ACM@badge@width{3pc}\n\\newlength\\@ACM@title@width\n\\newlength\\@ACM@badge@skip\n\\setlength\\@ACM@badge@skip{1pt}\n\\def\\@acmBadgeR{}\n\\def\\@acmBadgeL{}\n\\newcommand\\acmBadgeR[2][]{%\n  \\ifx\\@acmBadgeR\\@empty\n    \\gdef\\@acmBadgeR{%\n      \\smash{%\n        \\raisebox{0.5\\height}{%\n          \\href{#1}{\\includegraphics[width=\\@ACM@badge@width]{#2}}}}}%\n  \\else\n    \\g@addto@macro{\\@acmBadgeR}{%\n      \\hspace{\\@ACM@badge@skip}%\n      \\smash{%\n        \\raisebox{0.5\\height}{%\n          \\href{#1}{\\includegraphics[width=\\@ACM@badge@width]{#2}}}}}%\n  \\fi}\n\\newcommand\\acmBadgeL[2][]{%\n  \\ifx\\@acmBadgeL\\@empty\n    \\gdef\\@acmBadgeL{%\n      \\smash{%\n        \\raisebox{0.5\\height}{%\n          \\href{#1}{\\includegraphics[width=\\@ACM@badge@width]{#2}}}}}%\n  \\else\n    \\g@addto@macro{\\@acmBadgeL}{%\n      \\hspace{\\@ACM@badge@skip}%\n      \\smash{%\n        \\raisebox{0.5\\height}{%\n          \\href{#1}{\\includegraphics[width=\\@ACM@badge@width]{#2}}}}}%\n  \\fi}\n\\let\\acmBadge=\\acmBadgeR\n\\def\\startPage#1{\\def\\@startPage{#1}}\n\\startPage{}\n\\def\\terms#1{\\ClassWarning{\\@classname}{The command \\string\\terms{} is\n    obsolete.  I am going to ignore it}}\n\\def\\keywords#1{\\def\\@keywords{#1}}\n\\let\\@keywords\\@empty\n\\AtEndDocument{\\if@ACM@nonacm\\else\\ifx\\@keywords\\@empty\n  \\ifnum\\getrefnumber{TotPages}>2\\relax\n  \\ClassWarningNoLine{\\@classname}{ACM keywords are mandatory\n    for papers over two pages}%\n  \\fi\\fi\\fi}\n\\renewenvironment{abstract}{\\Collect@Body\\@saveabstract}{}\n\\long\\def\\@saveabstract#1{\\if@ACM@maketitle@typeset\n  \\ClassError{\\@classname}{Abstract must be defined before maketitle\n    command. Please move it!}\\fi\n  \\long\\gdef\\@abstract{#1}}\n\\@saveabstract{}\n\\long\\def\\@lempty{}\n\\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%\n  \\if@ACM@printccs\n    \\ClassInfo{\\@classname}{Printing CCS}%\n  \\else\n    \\ClassInfo{\\@classname}{Suppressing CCS}%\n  \\fi}{\\ClassError{\\@classname}{The option printccs can be either true or false}}\n\\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%\n  \\if@ACM@printacmref\n    \\ClassInfo{\\@classname}{Printing bibformat}%\n  \\else\n    \\ClassInfo{\\@classname}{Suppressing bibformat}%\n  \\fi}{\\ClassError{\\@classname}{The option printacmref can be either true or false}}\n\\AtEndDocument{\\if@ACM@nonacm\\else\\if@ACM@printacmref\\else\n  \\ifnum\\getrefnumber{TotPages}>1\\relax\n  \\ClassWarningNoLine{\\@classname}{%\n    ACM reference format is mandatory \\MessageBreak\n    for papers over one page. \\MessageBreak\n    Please add printacmref=true to the \\MessageBreak\n    \\string\\settopmatter\\space command.}%\n  \\fi\\fi\\fi}\n\\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%\n  \\if@ACM@printfolios\n    \\ClassInfo{\\@classname}{Printing folios}%\n  \\else\n    \\ClassInfo{\\@classname}{Suppressing folios}%\n  \\fi}{\\ClassError{\\@classname}{The option printfolios can be either true or false}}\n\\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%\n  \\IfInteger{#1}{\\ClassInfo{\\@classname}{Setting authorsperrow to\n      #1}}{\\ClassWarning{\\@classname}{The parameter authorsperrow must be\n      numerical. Ignoring the input #1}\\gdef\\@ACM@authorsperrow{0}}}\n\\def\\settopmatter#1{\\setkeys{@ACM@topmatter@}{#1}}\n\\settopmatter{printccs=true, printacmref=true}\n\\if@ACM@manuscript\n  \\settopmatter{printfolios=true}\n\\else\n  \\if@ACM@journal\n    \\settopmatter{printfolios=true}\n  \\else\n    \\settopmatter{printfolios=false}\n  \\fi\n\\fi\n\\settopmatter{authorsperrow=0}\n\\def\\@received{}\n\\newcommand\\received[2][]{\\def\\@tempa{#1}%\n  \\ifx\\@tempa\\@empty\n    \\ifx\\@received\\@empty\n      \\gdef\\@received{Received #2}%\n    \\else\n      \\g@addto@macro{\\@received}{; revised #2}%\n    \\fi\n  \\else\n    \\ifx\\@received\\@empty\n      \\gdef\\@received{#1 #2}%\n    \\else\n      \\g@addto@macro{\\@received}{; #1 #2}%\n    \\fi\n  \\fi}\n\\AtEndDocument{%\n  \\ifx\\@received\\@empty\\else\n    \\par\\bigskip\\noindent\\small\\normalfont\\@received\\par\n  \\fi}\n\\define@choicekey+{ACM}{articletype}[\\ACM@ArticleType\\ACM@ArticleType@nr]{%\n  Research,Review,Discussion,Invited,Position}[Review]{%\n  \\ifcase\\ACM@ArticleType@nr\n  \\relax % Research\n     \\colorlet{@ACM@Article@color}{ACMBlue}%\n  \\or % Review\n     \\colorlet{@ACM@Article@color}{ACMOrange}%\n  \\or % Discussion\n     \\colorlet{@ACM@Article@color}{ACMGreen}%\n  \\or % Invited\n     \\colorlet{@ACM@Article@color}{ACMPurple}%\n  \\or % Position\n     \\colorlet{@ACM@Article@color}{ACMRed}%\n  \\fi\n}{%\n \\ClassError{\\@classname}{Article Type must be Research, Review,\\MessageBreak\n   Discussion, Invited, or Position}}\n\\def\\acmArticleType#1{\\setkeys{ACM}{articletype=#1}}\n\\if@ACM@acmcp\n\\acmArticleType{Research}%\n\\fi\n %    \\end{macrocode}\n\\newenvironment{@ACM@color@frame}{%\n  \\def\\FrameCommand{\\hspace*{-6.5pc}%\n    \\colorbox{@ACM@Article@color!10!white}}%\n  \\MakeFramed {\\advance\\hsize\n    -6.5pc\\relax\\FrameRestore}}{\\zsaveposy{@ACM@acmcpframe@y}%\n  \\endMakeFramed}\n\\def\\acmCodeLink#1{%\n  \\ifx\\@acmCodeDataLink\\@empty\n     \\gdef\\@acmCodeDataLink{\\url{#1}}%\n  \\else\n     \\g@addto@macro{\\@acmCodeDataLink}{\\\\ \\url{#1}}%\n  \\fi}\n\\def\\@acmCodeDataLink{}\n\\def\\acmContributions#1{\\gdef\\@acmContributions{#1}}\n\\acmContributions{}\n\\let\\acmDataLink\\acmCodeLink\n\\RequirePackage{comment}\n\\excludecomment{CCSXML}\n\\let\\@concepts\\@empty\n\\newcounter{@concepts}\n\\newcommand\\ccsdesc[2][100]{%\n  \\ccsdesc@parse#1~#2~~\\ccsdesc@parse@end}\n\\def\\textrightarrow{$\\rightarrow$}\n\\def\\ccsdesc@parse#1~#2~#3~{%\n  \\stepcounter{@concepts}%\n  \\expandafter\\ifx\\csname CCS@General@#2\\endcsname\\relax\n    \\expandafter\\gdef\\csname CCS@General@#2\\endcsname{\\textbullet\\\n      \\textbf{#2}}%\n    \\expandafter\\gdef\\csname CCS@Punctuation@#2\\endcsname{; }%\n    \\expandafter\\gdef\\csname CCS@Specific@#2\\endcsname{}%\n  \\g@addto@macro{\\@concepts}{\\csname CCS@General@#2\\endcsname\n    \\csname CCS@Punctuation@#2\\endcsname\n    \\csname CCS@Specific@#2\\endcsname}%\n  \\fi\n  \\ifx#3\\relax\\relax\\else\n    \\expandafter\\gdef\\csname CCS@Punctuation@#2\\endcsname{\n      \\textrightarrow\\ }%\n    \\expandafter\\g@addto@macro\\expandafter{\\csname CCS@Specific@#2\\endcsname}{%\n     \\addtocounter{@concepts}{-1}%\n     \\ifnum#1>499\\textbf{#3}\\else\n     \\ifnum#1>299\\textit{#3}\\else\n     #3\\fi\\fi\\ifnum\\value{@concepts}=0.\\else; \\fi}%\n  \\fi\n\\ccsdesc@parse@finish}\n\\AtEndDocument{\\if@ACM@nonacm\\else\\ifx\\@concepts\\@empty\\relax\n  \\ifnum\\getrefnumber{TotPages}>2\\relax\n  \\ClassWarningNoLine{\\@classname}{CCS concepts are mandatory\n    for papers over two pages}%\n  \\fi\\fi\\fi}\n\\def\\ccsdesc@parse@finish#1\\ccsdesc@parse@end{}\n\\newif\\if@printcopyright\n\\@printcopyrighttrue\n\\newif\\if@printpermission\n\\@printpermissiontrue\n\\newif\\if@acmowned\n\\@acmownedtrue\n\\define@choicekey*{ACM@}{acmcopyrightmode}[%\n  \\acm@copyrightinput\\acm@copyrightmode]{none,%\n    acmcopyright,acmlicensed,rightsretained,%\n    usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%\n    licensedcagov,licensedcagovmixed,othergov,licensedothergov,%\n    iw3c2w3,iw3c2w3g,cc}{%\n  \\@printpermissiontrue\n  \\@printcopyrighttrue\n  \\@acmownedtrue\n  \\ifnum\\acm@copyrightmode=0\\relax % none\n   \\@printpermissionfalse\n   \\@printcopyrightfalse\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=2\\relax % acmlicensed\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=3\\relax % rightsretained\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=4\\relax % usgov\n   \\@printpermissiontrue\n   \\@printcopyrightfalse\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=6\\relax % cagov\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=8\\relax % licensedusgovmixed\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=9\\relax % licensedcagov\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=10\\relax % licensedcagovmixed\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=11\\relax % othergov\n   \\@acmownedtrue\n  \\fi\n  \\ifnum\\acm@copyrightmode=12\\relax % licensedothergov\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=13\\relax % iw3c2w3\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=14\\relax % iw3c2w3g\n   \\@acmownedfalse\n  \\fi\n  \\ifnum\\acm@copyrightmode=15\\relax % cc\n   \\@acmownedfalse\n  \\fi}\n\\def\\setcopyright#1{\\setkeys{ACM@}{acmcopyrightmode=#1}}\n\\setcopyright{acmlicensed}\n\\newcommand\\setcctype[2][4.0]{%\n  \\def\\ACM@cc@version{#1}%\n  \\def\\ACM@cc@type{#2}}\n\\setcctype{by}\n\\def\\@copyrightowner{%\n  \\ifcase\\acm@copyrightmode\\relax % none\n  \\or % acmcopyright\n  ACM\\@.\n  \\or % acmlicensed\n  Copyright held by the owner/author(s). Publication rights licensed to\n  ACM\\@.\n  \\or % rightsretained\n  Copyright held by the owner/author(s).\n  \\or % usgov\n  \\or % usgovmixed\n  Copyright held by the owner/author(s).\n  \\or % cagov\n  Copyright Crown in Right of Canada.\n  \\or %cagovmixed\n  Copyright held by the owner/author(s).\n  \\or %licensedusgovmixed\n  Copyright held by the owner/author(s). Publication rights licensed to\n  ACM\\@.\n  \\or % licensedcagov\n  Copyright held by the owner/author(s).\n  \\or %licensedcagovmixed\n  Copyright held by the owner/author(s). Publication rights licensed to\n  ACM\\@.\n  \\or % othergov\n  Copyright held by the owner/author(s).\n  \\or % licensedothergov\n  Copyright held by the owner/author(s). Publication rights licensed to\n  ACM\\@.\n  \\or % ic2w3www\n  IW3C2 (International World Wide Web Conference Committee), published\n  under Creative Commons CC-BY~4.0 License.\n  \\or % ic2w3wwwgoogle\n  IW3C2 (International World Wide Web Conference Committee), published\n  under Creative Commons CC-BY-NC-ND~4.0 License.\n  \\or % cc\n  Copyright held by the owner/author(s).\n  \\fi}\n\\def\\@formatdoi#1{\\url{https://doi.org/#1}}\n\\def\\@ACM@copyright@check@cc{%\n  \\if@ACM@nonacm\n     \\ClassInfo{\\@classname}{Using CC license with a non-acm\n       material}%\n  \\else\n     \\if@ACM@engage\n        \\ClassInfo{\\@classname}{Using CC license with ACM Enage\n          material}%\n      \\else\n      \\ClassWarning{\\@classname}{%\n        Sorry, Creative Commons licenses are\\MessageBreak\n        currently not used with ACM publications\\MessageBreak\n        typeset by the authors}{Please use nonacm\n           option or ACM Engage class to enable CC licenses}%\n      \\fi\n  \\fi}\n\\def\\@copyrightpermission{%\n  \\ifcase\\acm@copyrightmode\\relax % none\n  \\or % acmcopyright\n   Permission to make digital or hard copies of all or part of this\n   work for personal or classroom use is granted without fee provided\n   that copies are not made or distributed for profit or commercial\n   advantage and that copies bear this notice and the full citation on\n   the first page. Copyrights for components of this work owned by\n   others than ACM must be honored. Abstracting with credit is\n   permitted. To copy otherwise, or republish, to post on servers or\n   to redistribute to lists, requires prior specific permission\n   and\\hspace*{.5pt}/or\n   a fee. Request permissions from permissions@acm.org.\n  \\or % acmlicensed\n   Permission to make digital or hard copies of all or part of this\n   work for personal or classroom use is granted without fee provided\n   that copies are not made or distributed for profit or commercial\n   advantage and that copies bear this notice and the full citation on\n   the first page. Copyrights for components of this work owned by\n   others than the author(s) must be honored. Abstracting with credit\n   is permitted. To copy otherwise, or republish, to post on servers\n   or to redistribute to lists, requires prior specific permission\n   and\\hspace*{.5pt}/or a fee. Request permissions from\n   permissions@acm.org.\n  \\or % rightsretained\n   Permission to make digital or hard copies of part or all of this\n   work for personal or classroom use is granted without fee provided\n   that copies are not made or distributed for profit or commercial\n   advantage and that copies bear this notice and the full citation on\n   the first page. Copyrights for third-party components of this work\n   must be honored. For all other uses, contact the\n   owner\\hspace*{.5pt}/author(s).\n  \\or % usgov\n   This paper is authored by an employee(s) of the United States\n   Government and is in the public domain. Non-exclusive copying or\n   redistribution is allowed, provided that the article citation is\n   given and the authors and agency are clearly identified as its\n   source. All others Request permissions from\n   owner\\hspace*{.5pt}/author(s).\n  \\or % usgovmixed\n   ACM acknowledges that this contribution was authored or co-authored\n   by an employee, contractor, or affiliate of the United States\n   government. As such, the United States government retains a\n   nonexclusive, royalty-free right to publish or reproduce this\n   article, or to allow others to do so, for government purposes\n   only. Request permissions from owner\\hspace*{.5pt}/author(s).\n  \\or % cagov\n   This article was authored by employees of the Government of\n   Canada. As such, the Canadian government retains all interest in\n   the copyright to this work and grants to ACM a nonexclusive,\n   royalty-free right to publish or reproduce this article, or to\n   allow others to do so, provided that clear attribution is given\n   both to the authors and the Canadian government agency employing\n   them. Permission to make digital or hard copies for personal or\n   classroom use is granted. Copies must bear this notice and the full\n   citation on the first page. Copyrights for components of this work\n   owned by others than the Canadian Government must be honored. To\n   copy otherwise, distribute, republish, or post, requires prior\n   specific permission and/or a fee. Request permissions from\n   owner\\hspace*{.5pt}/author(s).\n  \\or % cagovmixed\n   ACM acknowledges that this contribution was co-authored by an\n   affiliate of the national government of Canada. As such, the Crown\n   in Right of Canada retains an equal interest in the\n   copyright. Reprints must include clear attribution to ACM and the\n   author’s government agency affiliation. Permission to make digital\n   or hard copies for personal or classroom use is granted. Copies\n   must bear this notice and the full citation on the first\n   page. Copyrights for components of this work owned by others than\n   ACM must be honored. To copy otherwise, distribute, republish, or\n   post, requires prior specific permission and/or a fee. Request\n   permissions from owner\\hspace*{.5pt}/author(s).\n  \\or % licensedusgovmixed\n   Publication rights licensed to ACM\\@. ACM acknowledges that this\n   contribution was authored or co-authored by an employee, contractor\n   or affiliate of the United States government. As such, the\n   Government retains a nonexclusive, royalty-free right to publish or\n   reproduce this article, or to allow others to do so, for Government\n   purposes only. Request permissions from\n   owner\\hspace*{.5pt}/author(s).\n  \\or % licensedcagov\n   This article was authored by employees of the Government of\n   Canada. As such, the Canadian government retains all interest in\n   the copyright to this work and grants to ACM a nonexclusive,\n   royalty-free right to publish or reproduce this article, or to\n   allow others to do so, provided that clear attribution is given\n   both to the authors and the Canadian government agency employing\n   them. Permission to make digital or hard copies for personal or\n   classroom use is granted. Copies must bear this notice and the full\n   citation on the first page. Copyrights for components of this work\n   owned by others than the Canadian Government must be honored. To\n   copy otherwise, distribute, republish, or post, requires prior\n   specific permission and/or a fee. Request permissions from\n   owner\\hspace*{.5pt}/author(s).\n  \\or % licensedcagovmixed\n   Publication rights licensed to ACM. ACM acknowledges that this\n   contribution was authored or co-authored by an employee, contractor\n   or affiliate of the national government of Canada. As such, the\n   Government retains a nonexclusive, royalty-free right to publish or\n   reproduce this article, or to allow others to do so, for Government\n   purposes only. Request permissions from\n   owner\\hspace*{.5pt}/author(s).\n  \\or % othergov\n   ACM acknowledges that this contribution was authored or co-authored\n   by an employee, contractor or affiliate of a national\n   government. As such, the Government retains a nonexclusive,\n   royalty-free right to publish or reproduce this article, or to\n   allow others to do so, for Government purposes only. Request\n   permissions from owner\\hspace*{.5pt}/author(s).\n  \\or % licensedothergov\n   Publication rights licensed to ACM\\@. ACM acknowledges that this\n   contribution was authored or co-authored by an employee, contractor\n   or affiliate of a national government. As such, the Government\n   retains a nonexclusive, royalty-free right to publish or reproduce\n   this article, or to allow others to do so, for Government purposes\n   only. Request permissions from owner\\hspace*{.5pt}/author(s).\n \\or % iw3c2w3\n   This paper is published under the Creative Commons Attribution~4.0\n   International (CC-BY~4.0) license. Authors reserve their rights to\n   disseminate the work on their personal and corporate Web sites with\n   the appropriate attribution.\n \\or % iw3c2w3g\n   This paper is published under the Creative Commons\n   Attribution-NonCommercial-NoDerivs~4.0 International\n   (CC-BY-NC-ND~4.0) license. Authors reserve their rights to\n   disseminate the work on their personal and corporate Web sites with\n   the appropriate attribution.\n \\or % CC\n   \\@ACM@copyright@check@cc\n   \\IfEq{\\ACM@cc@type}{zero}{%\n     \\def\\ACM@CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%\n  \\edef\\ACM@CC@Url{https://creativecommons.org/licenses/\\ACM@cc@type/\\ACM@cc@version/legalcode}}%\n   \\href{\\ACM@CC@Url}{\\includegraphics[height=5ex]{doclicense-CC-\\ACM@cc@type-88x31}}\\\\\n   \\href{\\ACM@CC@Url}{%\n   This work is licensed under a Creative Commons\n   \\IfEq{\\ACM@cc@type}{zero}{CC0 1.0 Universal}{%\n     \\IfEq{\\ACM@cc@type}{by}{Attribution}{}%\n     \\IfEq{\\ACM@cc@type}{by-sa}{Attribution-ShareAlike}{}%\n     \\IfEq{\\ACM@cc@type}{by-nd}{Attribution-NoDerivatives}{}%\n     \\IfEq{\\ACM@cc@type}{by-nc}{Attribution-NonCommercial}{}%\n     \\IfEq{\\ACM@cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%\n     \\IfEq{\\ACM@cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%\n     ~\\IfEq{\\ACM@cc@version}{4.0}{4.0 International}{3.0 Unported}%\n   }\n   License.}%\n \\fi}\n%%\n\\def\\copyrightyear#1{\\def\\@copyrightyear{#1}}\n\\copyrightyear{\\@acmYear}\n\\def\\@teaserfigures{}\n\\newenvironment{teaserfigure}{\\Collect@Body\\@saveteaser}{}\n\\long\\def\\@saveteaser#1{\\g@addto@macro\\@teaserfigures{\\@teaser{#1}}}\n\\renewcommand{\\thanks}[1]{%\n  \\@ifnotempty{#1}{%\n    \\if@ACM@anonymous\n      \\g@addto@macro\\thankses{\\thanks{A note}}%\n   \\else\n    \\g@addto@macro\\thankses{\\thanks{#1}}%\n   \\fi}}\n\\newcommand{\\anon}[2][ANONYMIZED]{%\n  \\if@ACM@anonymous%\n    {\\color{ACMOrange}#1}%\n  \\else%\n    #2%\n  \\fi}\n\\ifx\\@beginmaketitlehook\\@undefined\n  \\let\\@beginmaketitlehook\\@empty\n\\fi\n\\def\\AtBeginMaketitle{\\g@addto@macro\\@beginmaketitlehook}\n\\def\\@acmengagemetadata{}\n\\def\\setengagemetadata#1#2{%\n  \\g@addto@macro{\\@acmengagemetadata}{%\n    \\@setengagemetadata{#1}{#2}}}\n\\newbox\\mktitle@bx\n\\def\\maketitle{\\@beginmaketitlehook\n  \\@ACM@maketitle@typesettrue\n  \\if@ACM@anonymous\n    % Anonymize omission of \\author-s\n    \\ifnum\\num@authorgroups=0\\author{}\\fi\n  \\fi\n  \\begingroup\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\n  \\let\\@footnotemark\\@footnotemark@nolink\n  \\let\\@footnotetext\\@footnotetext@nolink\n  \\renewcommand\\thefootnote{\\@fnsymbol\\c@footnote}%\n  \\hsize=\\textwidth\n  \\def\\@makefnmark{\\hbox{\\@textsuperscript{\\@thefnmark}}}%\n  \\@mktitle\\if@ACM@sigchiamode\\else\\@mkauthors\\fi\\@mkteasers\n  \\@printtopmatter\n  \\if@ACM@sigchiamode\\@mkauthors\\fi\n  \\setcounter{footnote}{0}%\n  \\def\\@makefnmark{\\hbox{\\@textsuperscript{\\normalfont\\@thefnmark}}}%\n  \\@titlenotes\n  \\@subtitlenotes\n  \\@authornotes\n  \\let\\@makefnmark\\relax\n  \\let\\@thefnmark\\relax\n  \\let\\@makefntext\\noindent\n  \\ifx\\@empty\\thankses\\else\n    \\footnotetextauthorsaddresses{%\n      \\def\\par{\\let\\par\\@par}\\parindent\\z@\\@setthanks}%\n  \\fi\n  \\if@ACM@acmcp\\else\n    \\ifx\\@empty\\@authorsaddresses\\else\n       \\if@ACM@anonymous\\else\n         \\if@ACM@journal@bibstrip\n           \\footnotetextauthorsaddresses{%\n             \\def\\par{\\let\\par\\@par}\\parindent\\z@\\@setauthorsaddresses}%\n         \\fi\n       \\fi\n    \\fi\n  \\fi\n  \\if@ACM@nonacm\n    \\ifnum\\acm@copyrightmode=15\\relax % cc\n       \\footnotetextcopyrightpermission{\\@copyrightpermission}%\n    \\fi\n  \\else\n    \\if@ACM@acmcp\\else\n    \\footnotetextcopyrightpermission{%\n    \\if@ACM@authordraft\n        \\raisebox{-2ex}[\\z@][\\z@]{\\makebox[0pt][l]{\\large\\bfseries\n            Unpublished working draft. Not for distribution.}}%\n       \\color[gray]{0.9}%\n    \\fi\n    \\parindent\\z@\\parskip0.1\\baselineskip\n    \\if@ACM@authorversion\\else\n      \\if@printpermission\\@copyrightpermission\\par\\fi\n    \\fi\n    \\if@ACM@manuscript\\else\n       \\if@ACM@journal@bibstrip\\else % Print the conference information\n         \\if@ACM@engage\n            {\\itshape \\@acmBooktitle, \\@acmYear.}\\par\n         \\else\n         {\\itshape \\acmConference@shortname, \\acmConference@date, \\acmConference@venue}\\par\n         \\fi\n       \\fi\n    \\fi\n    \\if@printcopyright\n      \\copyright\\ \\@copyrightyear\\ \\@copyrightowner\\\\\n    \\else\n      \\@copyrightyear.\\\n    \\fi\n    \\if@ACM@manuscript\n      Manuscript submitted to ACM\\\\\n    \\else\n      \\if@ACM@authorversion\n          This is the author's version of the work. It is posted here for\n          your personal use. Not for redistribution. The definitive Version\n          of Record was published in\n          \\if@ACM@journal@bibstrip\n            \\emph{\\@journalName}%\n          \\else\n            \\emph{\\@acmBooktitle}%\n          \\fi\n          \\ifx\\@acmDOI\\@empty\n          .\n          \\else\n            , \\@formatdoi{\\@acmDOI}.\n          \\fi\\\\\n        \\else\n          \\if@ACM@nonacm\\else\n            \\if@ACM@journal@bibstrip\n              ACM~\\@permissionCodeOne/\\@acmYear/\\@acmMonth-ART\\@acmArticle\\\\\n              \\@formatdoi{\\@acmDOI}%\n            \\else % Conference\n              \\ifx\\@acmISBN\\@empty\\else ACM~ISBN~\\@acmISBN\\\\\\fi\n              \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi%\n            \\fi\n          \\fi\n        \\fi\n      \\fi}%\n    \\fi\n    \\fi\n  \\endgroup\n  \\if@ACM@engage\\@typesetengagemetadata\\fi\n  \\setcounter{footnote}{0}%\n  \\@mkabstract\n  \\ifx\\@translatedabstracts\\@empty\\else\n  \\@translatedabstracts\\fi\n  \\if@ACM@printccs\n  \\ifx\\@concepts\\@empty\\else\\bgroup\n      {\\@specialsection{CCS Concepts}%\n         \\noindent\\@concepts\\par}\\egroup\n     \\fi\n   \\fi\n   \\if@ACM@acmcp\\else\n     \\ifx\\@keywords\\@empty\\else\\bgroup\n        {\\@specialsection{\\keywordsname}%\n           \\noindent\\@keywords\\par}\\egroup\n     \\fi\n    \\ifx\\@translatedkeywords\\@empty\\else\n       \\@translatedkeywords\n    \\fi\n  \\fi\n  \\let\\metadata@authors=\\authors\n  \\nxandlist{, }{, }{, }\\metadata@authors\n  \\def\\@ACM@checkaffil{}%\n  \\hypersetup{%\n    pdfauthor={\\metadata@authors},\n    pdftitle={\\@title},\n    pdfsubject={\\@concepts},\n    pdfkeywords={\\@keywords},\n    pdfcreator={LaTeX with acmart\n      \\csname ver@acmart.cls\\endcsname\\space\n      and hyperref\n      \\csname ver@hyperref.sty\\endcsname}}%\n  \\andify\\authors\n  \\andify\\shortauthors\n  \\global\\let\\authors=\\authors\n  \\global\\let\\shortauthors=\\shortauthors\n  \\if@ACM@printacmref\n     \\@mkbibcitation\n  \\fi\n  \\global\\@topnum\\z@ % this prevents floats from falling\n                     % at the top of page 1\n  \\global\\@botnum\\z@ % we do not want them to be on the bottom either\n  \\@printendtopmatter\n  \\@afterindentfalse\n  \\@afterheading\n  \\if@ACM@acmcp\n    \\set@ACM@acmcpbox\n    \\AtEndDocument{\\end@ACM@color@frame}%\n    \\@ACM@color@frame\n  \\fi\n}\n\\newbox\\@ACM@acmcpbox\n\\def\\set@ACM@acmcpbox{%\n  \\bgroup\n  \\hsize=5pc\n  \\global\\setbox\\@ACM@acmcpbox=\\vbox{%\n    \\setlength{\\parindent}{\\z@}%\n    {\\includegraphics[width=\\hsize]{acm-jdslogo}\\par}%\n    \\scriptsize\n    \\ifnum\\getrefnumber{TotPages}>1\\else\n      \\zrefused{@ACM@acmcpbox@y}%\n      \\zrefused{@ACM@acmcpframe@y}%\n      \\@tempdima=\\dimexpr\\zposy{@ACM@acmcpbox@y}sp -\n      \\zposy{@ACM@acmcpframe@y}sp+0.3\\FrameSep+\n      \\@ACM@acmcp@delta\\relax\n      \\ifdim\\@tempdima>0pt\\relax\n         \\vspace*{\\@tempdima}%\n         \\protected@write\\@auxout{}%\n         {\\string\\global\\@ACM@acmcp@delta=\\the\\@tempdima\\relax}%\n      \\fi\n    \\fi\n    \\ifx\\@acmCodeDataLink\\@empty\\else\\bigskip\n    Code and data links:\\\\ \\@acmCodeDataLink\\par\\bigskip\n    \\fi\n    \\ifx\\@keywords\\@empty\\else\\bigskip\n      Keywords: \\@keywords\\par\n    \\fi\n    \\ifx\\@acmContributions\\@empty\\else\\bigskip\n      \\@acmContributions\\par\n    \\fi\n    \\ifx\\@empty\\@authorsaddresses\\else\\bigskip\\@setauthorsaddresses\\fi\n    \\zsaveposy{@ACM@acmcpbox@y}%\n  }\n\\egroup}\n\\def\\@specialsection#1{%\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\par\\medskip\\small\\noindent#1: %\n  \\or % acmsmall\n    \\par\\medskip\\small\\noindent#1: %\n  \\or % acmlarge\n    \\par\\medskip\\small\\noindent#1: %\n  \\or % acmtog\n    \\par\\medskip\\small\\noindent#1: %\n  \\or % sigconf\n    \\section*{#1}%\n  \\or % siggraph\n    \\section*{#1}%\n  \\or % sigplan\n     \\noindentparagraph*{#1:~}%\n  \\or % sigchi\n    \\section*{#1}%\n  \\or % sigchi-a\n    \\section*{#1}%\n  \\or % acmengage\n    \\section*{#1}%\n  \\or % acmcp\n    \\section*{#1}%\n    \\fi\n  \\let\\@vspace\\@vspace@acm\n  \\let\\@vspacer\\@vspacer@acm\n}\n\\def\\@printtopmatter{%\n  \\ifx\\@startPage\\@empty\n     \\gdef\\@startPage{1}%\n  \\else\n     \\setcounter{page}{\\@startPage}%\n  \\fi\n  \\@tempdima=\\ht\\mktitle@bx\n  \\advance\\@tempdima by \\dp\\mktitle@bx\n  \\ifdim\\@tempdima>0.9\\textheight\n    \\loop\n      \\setbox\\@tempboxa=\\vsplit \\mktitle@bx to 0.9\\textheight\n      \\thispagestyle{firstpagestyle}%\n      \\noindent\\unvbox\\@tempboxa\n      \\clearpage\n      \\@tempdima=\\ht\\mktitle@bx\n      \\advance\\@tempdima by \\dp\\mktitle@bx\n    \\ifdim\\@tempdima>0.9\\textheight\\repeat\n  \\fi\n  \\thispagestyle{firstpagestyle}%\n  \\noindent\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\box\\mktitle@bx\\par\n  \\or % acmsmall\n    \\box\\mktitle@bx\\par\n  \\or % acmlarge\n    \\box\\mktitle@bx\\par\n  \\or % acmtog\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % sigconf\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % siggraph\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % sigplan\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % sigchi\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % sigchi-a\n    \\par\\box\\mktitle@bx\\par\\bigskip\n  \\or % acmengage\n    \\twocolumn[\\box\\mktitle@bx]%\n  \\or % acmcp\n     \\box\\mktitle@bx\\par\n  \\fi\n}\n\\def\\@mktitle{%\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\@mktitle@i\n  \\or % acmsmall\n    \\@mktitle@i\n  \\or % acmlarge\n    \\@mktitle@i\n  \\or % acmtog\n    \\@mktitle@i\n  \\or % sigconf\n    \\@mktitle@iii\n  \\or % siggraph\n    \\@mktitle@iii\n  \\or % sigplan\n    \\@mktitle@iii\n  \\or % sigchi\n    \\@mktitle@iii\n  \\or % sigchi-a\n    \\@mktitle@iv\n  \\or % acmengage\n    \\@mktitle@iii\n  \\or % acmcp\n    \\@mktitle@i\n  \\fi\n}\n\\def\\@titlefont{%\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\LARGE\\sffamily\\bfseries\n  \\or % acmsmall\n    \\LARGE\\sffamily\\bfseries\n  \\or % acmlarge\n    \\LARGE\\sffamily\\bfseries\n  \\or % acmtog\n    \\Huge\\sffamily\n  \\or % sigconf\n    \\Huge\\sffamily\\bfseries\n  \\or % siggraph\n    \\Huge\\sffamily\\bfseries\n  \\or % sigplan\n    \\Huge\\bfseries\n  \\or % sigchi\n    \\Huge\\sffamily\\bfseries\n  \\or % sigchi-a\n     \\Huge\\bfseries\n  \\or % acmengage\n    \\Huge\\sffamily\\bfseries\n  \\or % acmcp\n    \\LARGE\\sffamily\\bfseries\n  \\fi}\n\\def\\@subtitlefont{\\normalsize\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\mdseries\n  \\or % acmsmall\n    \\mdseries\n  \\or % acmlarge\n    \\mdseries\n  \\or % acmtog\n     \\LARGE\n  \\or % sigconf\n     \\LARGE\\mdseries\n  \\or % siggraph\n     \\LARGE\\mdseries\n  \\or % sigplan\n     \\LARGE\\mdseries\n  \\or % sigchi\n     \\LARGE\\mdseries\n  \\or % sigchi-a\n     \\mdseries\n  \\or % acmengage\n     \\LARGE\\mdseries\n  \\or % acmcp\n    \\mdseries\n  \\fi}\n\\def\\@mktitle@i{\\hsize=\\textwidth\n  \\if@ACM@acmcp\n    \\advance\\hsize by -6pc%\n  \\fi\n  \\@ACM@title@width=\\hsize\n  \\setbox\\mktitle@bx=\\vbox{\\noindent\\@titlefont\n    \\parbox[t]{\\@ACM@title@width}{\\raggedright\n      \\@titlefont\\noindent\n      \\@title\\@translatedtitle%\n  \\ifx\\@subtitle\\@empty\\else\n    \\par\\noindent{\\@subtitlefont\\@subtitle\\@translatedsubtitle}%\n  \\fi}%\n  \\par\\bigskip}}%\n\\def\\@mktitle@iii{\\hsize=\\textwidth\n    \\setbox\\mktitle@bx=\\vbox{\\@titlefont\\centering\n      \\@ACM@title@width=\\hsize\n      \\parbox[t]{\\@ACM@title@width}{\\centering\\@titlefont\n        \\@title\\@translatedtitle%\n        \\ifx\\@subtitle\\@empty\\else\n          \\par\\noindent{\\@subtitlefont\\@subtitle\\@translatedsubtitle}\n        \\fi\n      }%\n      \\par\\bigskip}}%\n\\def\\@mktitle@iv{\\hsize=\\textwidth\n    \\setbox\\mktitle@bx=\\vbox{\\raggedright\\leftskip5pc\\@titlefont\n      \\noindent\\leavevmode\\leaders\\hrule height 2pt\\hfill\\kern0pt\\par\n      \\noindent\\@title\\@translatedtitle%\n     \\ifx\\@subtitle\\@empty\\else\n       \\par\\noindent\\@subtitlefont\\@subtitle\\@translatedsubtitle%\n     \\fi\n     \\par\\bigskip}}%\n\\newbox\\@ACM@commabox\n\\def\\@ACM@addtoaddress#1{%\n  \\ifvmode\\else\n    \\if@ACM@affiliation@obeypunctuation\\else\n    \\setbox\\@ACM@commabox=\\hbox{, }%\n    \\unskip\\cleaders\\copy\\@ACM@commabox\\hskip\\wd\\@ACM@commabox\n  \\fi\\fi\n  #1}\n\\def\\streetaddress#1{\\unskip\\ignorespaces}\n\\def\\postcode#1{\\unskip\\ignorespaces}\n\\if@ACM@journal\n  \\def\\position#1{\\unskip\\ignorespaces}\n  \\def\\institution#1{\\global\\@ACM@instpresenttrue\n    \\unskip~#1\\ignorespaces}\n  \\def\\city#1{\\global\\@ACM@citypresenttrue\\unskip\\ignorespaces}\n  \\def\\state#1{\\unskip\\ignorespaces}\n  \\newcommand\\department[2][0]{\\unskip\\ignorespaces}\n  \\def\\country#1{\\StrDel{#1}{ }[\\@tempa]%\n    \\ifx\\@tempa\\@empty\\else\n    \\global\\@ACM@countrypresenttrue\\fi\n    \\if@ACM@affiliation@obeypunctuation\\else, \\fi#1\\ignorespaces}\n\\else\n  \\def\\position#1{\\if@ACM@affiliation@obeypunctuation#1\\else#1\\par\\fi}%\n  \\def\\institution#1{\\global\\@ACM@instpresenttrue\n    \\if@ACM@affiliation@obeypunctuation#1\\else#1\\par\\fi}%\n  \\newcommand\\department[2][0]{\\if@ACM@affiliation@obeypunctuation\n    #2\\else#2\\par\\fi}%\n  \\def\\city#1{\\global\\@ACM@citypresenttrue\\@ACM@addtoaddress{#1}}%\n  \\let\\state\\@ACM@addtoaddress\n  \\def\\country#1{\\global\\@ACM@countrypresenttrue\\@ACM@addtoaddress{#1}}%\n\\fi\n\\def\\@mkauthors{\\begingroup\n  \\hsize=\\textwidth\n  \\ifcase\\ACM@format@nr\n  \\relax % manuscript\n    \\@mkauthors@i\n  \\or % acmsmall\n    \\@mkauthors@i\n  \\or % acmlarge\n    \\@mkauthors@i\n  \\or % acmtog\n    \\@mkauthors@i\n  \\or % sigconf\n    \\@mkauthors@iii\n  \\or % siggraph\n    \\@mkauthors@iii\n  \\or % sigplan\n    \\@mkauthors@iii\n  \\or % sigchi\n    \\@mkauthors@iii\n  \\or % sigchi-a\n    \\@mkauthors@iv\n  \\or % acmengage\n    \\@mkauthors@iii\n  \\or % acmcp\n    \\@mkauthors@i\n  \\fi\n  \\endgroup\n}\n\\def\\@authorfont{\\Large\\sffamily}\n\\def\\@affiliationfont{\\normalsize\\normalfont}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n  \\def\\@authorfont{\\large\\sffamily}\n  \\def\\@affiliationfont{\\small\\normalfont}\n\\or % acmlarge\n\\or % acmtog\n  \\def\\@authorfont{\\LARGE\\sffamily}\n  \\def\\@affiliationfont{\\large}\n\\or % sigconf\n  \\def\\@authorfont{\\LARGE}\n  \\def\\@affiliationfont{\\large}\n\\or % siggraph\n  \\def\\@authorfont{\\normalsize\\normalfont}\n  \\def\\@affiliationfont{\\normalsize\\normalfont}\n\\or % sigplan\n  \\def\\@authorfont{\\Large\\normalfont}\n  \\def\\@affiliationfont{\\normalsize\\normalfont}\n\\or % sigchi\n  \\def\\@authorfont{\\bfseries}\n  \\def\\@affiliationfont{\\mdseries}\n\\or % sigchi-a\n  \\def\\@authorfont{\\bfseries}\n  \\def\\@affiliationfont{\\mdseries}\n\\or % acmengage\n  \\def\\@authorfont{\\LARGE}\n  \\def\\@affiliationfont{\\large}\n\\or % acmcp\n  \\def\\@authorfont{\\large\\sffamily}\n  \\def\\@affiliationfont{\\small\\normalfont}\n\\fi\n\\def\\@typeset@author@line{%\n  \\andify\\@currentauthors\\par\\noindent\n  \\@currentauthors\\def\\@currentauthors{}%\n  \\ifx\\@currentaffiliations\\@empty\\else\n    \\andify\\@currentaffiliations\n      \\unskip, {\\@currentaffiliations}\\par\n  \\fi\n  \\def\\@currentaffiliations{}}\n\\newif\\if@ACM@instpresent\n\\@ACM@instpresenttrue\n\\newif\\if@ACM@citypresent\n\\@ACM@citypresenttrue\n\\newif\\if@ACM@countrypresent\n\\@ACM@countrypresenttrue\n\\def\\@ACM@resetaffil{%\n  \\global\\@ACM@instpresentfalse\n  \\global\\@ACM@citypresentfalse\n  \\global\\@ACM@countrypresentfalse\n}\n\\def\\@ACM@checkaffil{%\n  \\if@ACM@instpresent\\else\n  \\ClassWarningNoLine{\\@classname}{No institution present for an affiliation}%\n  \\fi\n  \\if@ACM@citypresent\\else\n  \\ClassWarningNoLine{\\@classname}{No city present for an affiliation}%\n  \\fi\n  \\if@ACM@countrypresent\\else\n  \\ClassError{\\@classname}{No country present for an affiliation}{ACM\n    requires each author to indicate their country using country macro.}%\n  \\fi\n}\n\\def\\@mkauthors@i{%\n  \\def\\@currentauthors{}%\n  \\def\\@currentaffiliations{}%\n  \\global\\let\\and\\@typeset@author@line\n  \\def\\@author##1{%\n    \\ifx\\@currentauthors\\@empty\n      \\gdef\\@currentauthors{\\@authorfont\\MakeTextUppercase{##1}}%\n    \\else\n       \\g@addto@macro{\\@currentauthors}{\\and\\MakeTextUppercase{##1}}%\n    \\fi\n    \\gdef\\and{}}%\n  \\def\\email##1##2{}%\n  \\def\\affiliation##1##2{%\n    \\def\\@tempa{##2}\\ifx\\@tempa\\@empty\\else\n       \\ifx\\@currentaffiliations\\@empty\n          \\gdef\\@currentaffiliations{%\n            \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n            \\setkeys{@ACM@affiliation@}{##1}%\n            \\@ACM@resetaffil\n            \\@affiliationfont##2\\@ACM@checkaffil}%\n       \\else\n         \\g@addto@macro{\\@currentaffiliations}{\\and\n           \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n           \\setkeys{@ACM@affiliation@}{##1}\\@ACM@resetaffil\n           ##2\\@ACM@checkaffil}%\n      \\fi\n    \\fi\n     \\global\\let\\and\\@typeset@author@line}%\n  \\if@ACM@acmcp\n    \\advance\\hsize by -6pc%\n  \\fi\n  \\global\\setbox\\mktitle@bx=\\vbox{\\noindent\\unvbox\\mktitle@bx\\par\\medskip\n    \\noindent\\addresses\\@typeset@author@line\n   \\par\\medskip}%\n}\n\\newbox\\author@bx\n\\newdimen\\author@bx@wd\n\\newskip\\author@bx@sep\n\\author@bx@sep=1pc\\relax\n\\def\\@typeset@author@bx{\\bgroup\\hsize=\\author@bx@wd\n  \\def\\and{\\par}\\normalbaselines\n  \\global\\setbox\\author@bx=\\vtop{\\if@ACM@sigchiamode\\else\\centering\\fi\n    \\@authorfont\\@currentauthors\\par\\@affiliationfont\n    \\@currentaffiliation}\\egroup\n  \\box\\author@bx\\hspace{\\author@bx@sep}%\n  \\gdef\\@currentauthors{}%\n  \\gdef\\@currentaffiliation{}}\n\\def\\@mkauthors@iii{%\n  \\author@bx@wd=\\textwidth\\relax\n  \\advance\\author@bx@wd by -\\author@bx@sep\\relax\n  \\ifnum\\@ACM@authorsperrow>0\\relax\n    \\divide\\author@bx@wd by \\@ACM@authorsperrow\\relax\n  \\else\n    \\ifcase\\num@authorgroups\n    \\relax % 0?\n    \\or  % 1=one author per row\n    \\or  % 2=two authors per row\n       \\divide\\author@bx@wd by \\num@authorgroups\\relax\n    \\or  % 3=three authors per row\n       \\divide\\author@bx@wd by \\num@authorgroups\\relax\n    \\or  % 4=two authors per row (!)\n       \\divide\\author@bx@wd by 2\\relax\n    \\else % three authors per row\n       \\divide\\author@bx@wd by 3\\relax\n    \\fi\n  \\fi\n  \\advance\\author@bx@wd by -\\author@bx@sep\\relax\n  \\gdef\\@currentauthors{}%\n  \\gdef\\@currentaffiliation{}%\n  \\def\\@author##1{\\ifx\\@currentauthors\\@empty\n    \\gdef\\@currentauthors{\\par##1}%\n  \\else\n    \\g@addto@macro\\@currentauthors{\\par##1}%\n  \\fi\n  \\gdef\\and{}}%\n  \\def\\email##1##2{\\ifx\\@currentaffiliation\\@empty\n    \\gdef\\@currentaffiliation{\\bgroup\n      \\mathchardef\\UrlBreakPenalty=10000\\nolinkurl{##2}\\egroup}%\n  \\else\n    \\g@addto@macro\\@currentaffiliation{\\par\\bgroup\n      \\mathchardef\\UrlBreakPenalty=10000\\nolinkurl{##2}\\egroup}%\n  \\fi}%\n  \\def\\affiliation##1##2{\\ifx\\@currentaffiliation\\@empty\n    \\gdef\\@currentaffiliation{%\n      \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n      \\setkeys{@ACM@affiliation@}{##1}\\@ACM@resetaffil\n      ##2\\@ACM@checkaffil}%\n  \\else\n    \\g@addto@macro\\@currentaffiliation{\\par\n      \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n      \\setkeys{@ACM@affiliation@}{##1}\\@ACM@resetaffil\n      ##2\\@ACM@checkaffil}%\n  \\fi\n  \\global\\let\\and\\@typeset@author@bx\n}%\n  \\hsize=\\textwidth\n  \\global\\setbox\\mktitle@bx=\\vbox{\\noindent\n    \\unvbox\\mktitle@bx\\par\\medskip\\leavevmode\n    \\lineskip=1pc\\relax\\centering\\hspace*{-1em}%\n    \\addresses\\let\\and\\@typeset@author@bx\\and\\par\\bigskip}}\n\\def\\@mkauthors@iv{%\n  \\author@bx@wd=\\columnwidth\\relax\n  \\advance\\author@bx@wd by -\\author@bx@sep\\relax\n  \\ifnum\\@ACM@authorsperrow>0\\relax\n    \\divide\\author@bx@wd by \\@ACM@authorsperrow\\relax\n  \\else\n    \\ifcase\\num@authorgroups\n    \\relax % 0?\n    \\or  % 1=one author per row\n    \\else  % 2=two authors per row\n       \\divide\\author@bx@wd by 2\\relax\n    \\fi\n  \\fi\n  \\advance\\author@bx@wd by -\\author@bx@sep\\relax\n  \\gdef\\@currentauthors{}%\n  \\gdef\\@currentaffiliation{}%\n  \\def\\@author##1{\\ifx\\@currentauthors\\@empty\n    \\gdef\\@currentauthors{\\par##1}%\n  \\else\n    \\g@addto@macro\\@currentauthors{\\par##1}%\n  \\fi\n  \\gdef\\and{}}%\n  \\def\\email##1##2{\\ifx\\@currentaffiliation\\@empty\n    \\gdef\\@currentaffiliation{\\nolinkurl{##2}}%\n  \\else\n    \\g@addto@macro\\@currentaffiliation{\\par\\nolinkurl{##2}}%\n  \\fi}%\n  \\def\\affiliation##1##2{\\ifx\\@currentaffiliation\\@empty\n    \\gdef\\@currentaffiliation{%\n      \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n      \\setkeys{@ACM@affiliation@}{##1}\\@ACM@resetaffil\n      ##2\\@ACM@checkaffil}%\n  \\else\n    \\g@addto@macro\\@currentaffiliation{\\par\n      \\setkeys{@ACM@affiliation@}{obeypunctuation=false}%\n      \\setkeys{@ACM@affiliation@}{##1}\\@ACM@resetaffil\n      ##2\\@ACM@checkaffil}%\n  \\fi\n  \\global\\let\\and\\@typeset@author@bx}%\n    \\bgroup\\hsize=\\columnwidth\n    \\par\\raggedright\\leftskip=\\z@\n    \\lineskip=1pc\\noindent\n    \\addresses\\let\\and\\@typeset@author@bx\\and\\par\\bigskip\\egroup}\n\\def\\@mkauthorsaddresses{%\n  \\ifnum\\num@authors>1\\relax\n  Authors' \\else Author's \\fi\n  \\ifnum\\num@authorgroups>1\\relax\n  addresses: \\else address: \\fi\n  \\bgroup\n  \\def\\streetaddress##1{\\unskip, ##1}%\n  \\def\\postcode##1{\\unskip, ##1}%\n  \\def\\position##1{\\unskip\\ignorespaces}%\n  \\gdef\\@ACM@institution@separator{, }%\n  \\def\\institution##1{\\unskip\\@ACM@institution@separator ##1\\gdef\\@ACM@institution@separator{ and }}%\n  \\def\\city##1{\\unskip, ##1}%\n  \\def\\state##1{\\unskip, ##1}%\n  \\renewcommand\\department[2][0]{\\unskip\\@addpunct, ##2}%\n  \\def\\country##1{\\unskip, ##1}%\n  \\def\\and{\\unskip; \\gdef\\@ACM@institution@separator{, }}%\n  \\def\\@author##1{##1}%\n  \\def\\email##1##2{\\unskip, \\nolinkurl{##2}}%\n  \\addresses\n  \\egroup}\n\\AtEndDocument{\\if@ACM@nonacm\\else\\if@ACM@journal\n  \\ifx\\@authorsaddresses\\@empty\n  \\ClassWarningNoLine{\\@classname}{Authors'\n    addresses are mandatory for ACM journals}%\n  \\fi\\fi\\fi}\n\\def\\@setaddresses{}\n\\def\\@authornotemark{\\g@addto@macro\\@currentauthors{\\footnotemark\\relax}}\n\\def\\@@authornotemark#1{\\g@addto@macro\\@currentauthors{\\footnotemark[#1]}}\n\\def\\@mkteasers{%\n  \\ifx\\@teaserfigures\\@empty\\else\n    \\def\\@teaser##1{\\par\\bigskip\\bgroup\n      \\captionsetup{type=figure}##1\\egroup\\par}\n    \\global\\setbox\\mktitle@bx=\\vbox{\\noindent\\unvbox\\mktitle@bx\\par\n      \\noindent\\@Description@presentfalse\n      \\@teaserfigures\\par\\if@Description@present\\else\n         \\global\\@undescribed@imagestrue\n         \\ClassWarning{\\@classname}{A possible image without\n           description}\\fi\n    \\medskip}%\n  \\fi}\n\\def\\@mkabstract{\\bgroup\n  \\ifx\\@abstract\\@lempty\\else\n  {\\phantomsection\\addcontentsline{toc}{section}{\\abstractname}%\n    \\if@ACM@journal\n       \\everypar{\\setbox\\z@\\lastbox\\everypar{}}\\small\n    \\else\n      \\section*{\\abstractname}%\n    \\fi\n   \\ignorespaces\\@abstract\\par}%\n  \\fi\\egroup}\n\\def\\@mktranslatedabstract#1{\\selectlanguage{#1}%\n    \\if@ACM@journal\n       \\everypar{\\setbox\\z@\\lastbox\\everypar{}}\\small\n    \\else\n       \\section*{\\abstractname}%\n    \\fi\n   \\ignorespaces}\n\\def\\@mkbibcitation{\\bgroup\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\n  \\def\\@pages@word{\\ifnum\\getrefnumber{TotPages}=1\\relax page\\else pages\\fi}%\n  \\def\\footnotemark{}%\n  \\def\\\\{\\unskip{} \\ignorespaces}%\n  \\def\\footnote{\\ClassError{\\@classname}{Please do not use footnotes\n      inside a \\string\\title{} or \\string\\author{} command! Use\n      \\string\\titlenote{} or \\string\\authornote{} instead!}}%\n  \\def\\@article@string{\\ifx\\@acmArticle\\@empty{\\ }\\else,\n    Article~\\@acmArticle\\ \\fi}%\n  \\par\\medskip\\small\\noindent{\\bfseries ACM Reference Format:}\\par\\nobreak\n  \\noindent\\bgroup\n    \\def\\\\{\\unskip{}, \\ignorespaces}\\authors\\egroup. \\@acmYear. \\@title\n  \\ifx\\@subtitle\\@empty. \\else: \\@subtitle. \\fi\n  \\if@ACM@nonacm\\else\n    % The 'nonacm' option disables 'printacmref' by default,\n    % and the present \\@mkbibcitation definition is never used\n    % in this case. The conditional remains useful if the user\n    % explicitly sets \\settopmatter{printacmref=true}.\n    \\if@ACM@journal@bibstrip\n       \\textit{\\@journalNameShort}\n       \\@acmVolume, \\@acmNumber \\@article@string (\\@acmPubDate),\n       \\ref{TotPages}~\\@pages@word.\n    \\else\n       In \\textit{\\@acmBooktitle}%\n       \\ifx\\@acmEditors\\@empty\\textit{.}\\else\n         \\andify\\@acmEditors\\textit{, }\\@acmEditors~\\@editorsAbbrev.%\n       \\fi\\\n       ACM, New York, NY, USA%\n         \\@article@string\\unskip, \\ref{TotPages}~\\@pages@word.\n    \\fi\n  \\fi\n  \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi\n\\par\\egroup}\n\\def\\@printendtopmatter{%\n  \\let\\@vspace\\@vspace@orig\n  \\let\\@vspacer\\@vspacer@orig\n  \\par\\bigskip\n  \\let\\@vspace\\@vspace@acm\n  \\let\\@vspacer\\@vspacer@acm\n  }\n\\def\\@setthanks{\\long\\def\\thanks##1{\\par##1\\@addpunct.}\\thankses}\n\\def\\@setauthorsaddresses{\\@authorsaddresses\\unskip\\@addpunct.}\n\\def\\@typesetengagemetadata{%\n  \\def\\@setengagemetadata##1##2{\\par\\noindent\\textbf{##1} ##2\\par}%\n  \\@acmengagemetadata}\n\\RequirePackage{fancyhdr}\n\\let\\ACM@ps@plain\\ps@plain\n\\let\\ACM@ps@myheadings\\ps@myheadings\n\\let\\ACM@ps@headings\\ps@headings\n\\def\\ACM@restore@pagestyle{%\n  \\let\\ps@plain\\ACM@ps@plain\n  \\let\\ps@myheadings\\ACM@ps@myheadings\n  \\let\\ps@headings\\ACM@ps@headings}\n\\AtBeginDocument{\\ACM@restore@pagestyle}\n\\if@ACM@review\n  \\newsavebox{\\ACM@linecount@bx}\n  \\newlength\\ACM@linecount@bxht\n  \\newcount\\ACM@linecount\n  \\ACM@linecount\\@ne\\relax\n  \\def\\ACM@mk@linecount{%\n    \\savebox{\\ACM@linecount@bx}[4em][t]{\\parbox[t]{4em}{\\normalfont\n        \\normalsize\n        \\setlength{\\ACM@linecount@bxht}{0pt}%\n        \\loop{\\color{red}\\scriptsize\\the\\ACM@linecount}\\\\\n        \\global\\advance\\ACM@linecount by \\@ne\n        \\addtolength{\\ACM@linecount@bxht}{\\baselineskip}%\n        \\ifdim\\ACM@linecount@bxht<\\textheight\\repeat\n        {\\color{red}\\scriptsize\\the\\ACM@linecount}\\hfill\n        \\global\\advance\\ACM@linecount by \\@ne}}}\n\\fi\n\\def\\ACM@linecountL{%\n  \\if@ACM@review\n  \\ACM@mk@linecount\n  \\begin{picture}(0,0)%\n    \\put(-26,-22){\\usebox{\\ACM@linecount@bx}}%\n  \\end{picture}%\n  \\fi}\n\\def\\ACM@linecountR{%\n  \\if@ACM@review\n    \\ifcase\\ACM@format@nr\n    \\relax % manuscript\n         \\relax\n       \\or % acmsmall\n         \\relax\n       \\or % acmlarge\n         \\relax\n       \\or % acmtog\n          \\ACM@mk@linecount\n       \\or % sigconf\n          \\ACM@mk@linecount\n       \\or % siggraph\n          \\ACM@mk@linecount\n       \\or % sigplan\n          \\ACM@mk@linecount\n       \\or % sigchi\n          \\ACM@mk@linecount\n       \\or % sigchi-a\n          \\ACM@mk@linecount\n       \\or % acmengage\n          \\ACM@mk@linecount\n       \\or % acmcp\n         \\relax\n    \\fi\n    \\begin{picture}(0,0)%\n      \\put(20,-22){\\usebox{\\ACM@linecount@bx}}%\n     \\end{picture}%\n  \\fi}\n\\if@ACM@timestamp\n  % Subtracting 30 from \\time gives us the effect of rounding down despite\n  % \\numexpr rounding to nearest\n  \\newcounter{ACM@time@hours}\n  \\setcounter{ACM@time@hours}{\\numexpr (\\time - 30) / 60 \\relax}\n  \\newcounter{ACM@time@minutes}\n  \\setcounter{ACM@time@minutes}{\\numexpr \\time - \\theACM@time@hours * 60 \\relax}\n  \\newcommand\\ACM@timestamp{%\n    \\footnotesize%\n    \\ifx\\@acmSubmissionID\\@empty\\relax\\else\n    Submission ID: \\@acmSubmissionID.{ }%\n    \\fi\n    \\the\\year-\\two@digits{\\the\\month}-\\two@digits{\\the\\day}{ }%\n    \\two@digits{\\theACM@time@hours}:\\two@digits{\\theACM@time@minutes}{. }%\n    Page \\thepage\\ of \\@startPage--\\pageref*{TotPages}.%\n  }\n\\fi\n\\def\\@shortauthors{%\n  \\if@ACM@anonymous\n    Anon.\n    \\ifx\\@acmSubmissionID\\@empty\\else Submission Id: \\@acmSubmissionID\\fi\n  \\else\\shortauthors\\fi}\n\\def\\@headfootfont{\\sffamily\\footnotesize}\n\\AtBeginDocument{%\n\\fancypagestyle{standardpagestyle}{%\n  \\fancyhf{}%\n  \\renewcommand{\\headrulewidth}{\\z@}%\n  \\renewcommand{\\footrulewidth}{\\z@}%\n  \\def\\@acmArticlePage{%\n    \\ifx\\@acmArticle\\empty%\n      \\if@ACM@printfolios\\thepage\\fi%\n    \\else%\n      \\@acmArticle\\if@ACM@printfolios:\\thepage\\fi%\n    \\fi%\n  }%\n  \\if@ACM@journal@bibstrip\n    \\ifcase\\ACM@format@nr\n    \\relax % manuscript\n      \\fancyhead[LE]{\\ACM@linecountL\\if@ACM@printfolios\\thepage\\fi}%\n      \\fancyhead[RO]{\\if@ACM@printfolios\\thepage\\fi}%\n      \\fancyhead[RE]{\\@shortauthors}%\n      \\fancyhead[LO]{\\ACM@linecountL\\shorttitle}%\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize Manuscript submitted to ACM}\n      \\fi%\n    \\or % acmsmall\n      \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\\@acmArticlePage}%\n      \\fancyhead[RO]{\\@headfootfont\\@acmArticlePage}%\n      \\fancyhead[RE]{\\@headfootfont\\@shortauthors}%\n      \\fancyhead[LO]{\\ACM@linecountL\\@headfootfont\\shorttitle}%\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date: \\@acmPubDate.}%\n      \\fi\n    \\or % acmlarge\n      \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\n      \\@acmArticlePage\\quad\\textbullet\\quad\\@shortauthors}%\n      \\fancyhead[LO]{\\ACM@linecountL}%\n      \\fancyhead[RO]{\\@headfootfont\n        \\shorttitle\\quad\\textbullet\\quad\\@acmArticlePage}%\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date: \\@acmPubDate.}%\n      \\fi\n    \\or % acmtog\n      \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\n        \\@acmArticlePage\\quad\\textbullet\\quad\\@shortauthors}%\n      \\fancyhead[LO]{\\ACM@linecountL}%\n      \\fancyhead[RE]{\\ACM@linecountR}%\n      \\fancyhead[RO]{\\@headfootfont\n        \\shorttitle\\quad\\textbullet\\quad\\@acmArticlePage\\ACM@linecountR}%\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date: \\@acmPubDate.}%\n      \\fi\n    \\else % Proceedings\n      \\fancyfoot[C]{\\if@ACM@printfolios\\footnotesize\\thepage\\fi}%\n      \\fancyhead[LO]{\\ACM@linecountL\\@headfootfont\\shorttitle}%\n      \\fancyhead[RE]{\\@headfootfont\\@shortauthors\\ACM@linecountR}%\n      \\if@ACM@nonacm\n        \\fancyhead[LE]{\\ACM@linecountL}%\n        \\fancyhead[RO]{\\ACM@linecountR}%\n      \\else%\n        \\if@ACM@engage\n          \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\\footnotesize\n            EngageCSEdu. \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi}%\n          \\fancyhead[RO]{\\@headfootfont\n            EngageCSEdu. \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi\n            \\ACM@linecountR}%\n        \\else\n          \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\\footnotesize\n            \\acmConference@shortname,\n            \\acmConference@date, \\acmConference@venue}%\n          \\fancyhead[RO]{\\@headfootfont\n            \\acmConference@shortname,\n            \\acmConference@date, \\acmConference@venue\\ACM@linecountR}%\n         \\fi\n      \\fi\n    \\fi\n  \\else % Proceedings\n    \\fancyfoot[C]{\\if@ACM@printfolios\\footnotesize\\thepage\\fi}%\n    \\fancyhead[LO]{\\ACM@linecountL\\@headfootfont\\shorttitle}%\n    \\fancyhead[RE]{\\@headfootfont\\@shortauthors\\ACM@linecountR}%\n    \\if@ACM@nonacm\n      \\fancyhead[LE]{\\ACM@linecountL}%\n      \\fancyhead[RO]{\\ACM@linecountR}%\n    \\else%\n      \\if@ACM@engage\n        \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\n          EngageCSEdu. \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi}%\n        \\fancyhead[RO]{\\@headfootfont\n          EngageCSEdu. \\ifx\\@acmDOI\\@empty\\else\\@formatdoi{\\@acmDOI}\\fi\n          \\ACM@linecountR}%\n      \\else\n        \\fancyhead[LE]{\\ACM@linecountL\\@headfootfont\n          \\acmConference@shortname,\n          \\acmConference@date, \\acmConference@venue}%\n        \\fancyhead[RO]{\\@headfootfont\n          \\acmConference@shortname,\n          \\acmConference@date, \\acmConference@venue\\ACM@linecountR}%\n       \\fi\n    \\fi\n  \\fi\n  \\if@ACM@sigchiamode\n     \\fancyheadoffset[L]{\\dimexpr(\\marginparsep+\\marginparwidth)}%\n  \\fi\n  \\if@ACM@timestamp\n     \\fancyfoot[LO,RE]{\\ACM@timestamp}\n  \\fi\n  \\if@ACM@acmcp\n  \\renewcommand{\\footrulewidth}{0.1\\p@}%\n  \\fancyheadoffset[L]{46pt}%\n  \\fancyhead[L]{\\makebox[\\z@][l]{%\n      \\raisebox{-\\dimexpr(0.2\\textheight*(\\ACM@ArticleType@nr-2))}{%\n      \\rotatebox{90}{\\colorbox{@ACM@Article@color}{\\color{white}%\n          \\strut\\ACM@ArticleType~Article}}}}%\n    \\ACM@linecountL}%\n  \\fancyhead[R]{\\makebox[\\z@][r]{\\box\\@ACM@acmcpbox}}%\n  \\fancyfoot[L,C]{}%\n  \\fancyfoot[R]{\\footnotesize\n    \\@journalName, Volume~\\@acmVolume, Issue~\\@acmNumber,\n    \\ifx\\@acmArticle\\@empty\\else Article~\\@acmArticle\\fi\\space\n    (\\@acmPubDate)\\ifx\\@acmDOI\\@empty\\else\\\\\\@formatdoi{\\@acmDOI}\\fi}\n  \\fi\n}%\n\\pagestyle{standardpagestyle}\n}\n\\AtBeginDocument{%\n\\fancypagestyle{firstpagestyle}{%\n  \\fancyhf{}%\n  \\renewcommand{\\headrulewidth}{\\z@}%\n  \\renewcommand{\\footrulewidth}{\\z@}%\n  \\if@ACM@journal@bibstrip\n    \\ifcase\\ACM@format@nr\n    \\relax % manuscript\n      \\fancyhead[L]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[R]{\\@acmBadgeR}%\n      \\fancyfoot[RO,LE]{\\if@ACM@printfolios\\small\\thepage\\fi}%\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RE,LO]{\\footnotesize Manuscript submitted to ACM}%\n      \\fi%\n    \\or % acmsmall\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date:\n        \\@acmPubDate.}%\n      \\fi%\n      \\fancyhead[LE]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[LO]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[RO]{\\@acmBadgeR}%\n      \\fancyhead[RE]{\\@acmBadgeR}%\n    \\or % acmlarge\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date:\n        \\@acmPubDate.}%\n      \\fi%\n      \\fancyhead[RO]{\\@acmBadgeR}%\n      \\fancyhead[RE]{\\@acmBadgeR}%\n      \\fancyhead[LE]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[LO]{\\ACM@linecountL\\@acmBadgeL}%\n    \\or % acmtog\n      \\if@ACM@nonacm\\else%\n        \\fancyfoot[RO,LE]{\\footnotesize \\@journalNameShort, Vol. \\@acmVolume, No.\n        \\@acmNumber, Article \\@acmArticle.  Publication date:\n        \\@acmPubDate.}%\n      \\fi%\n      \\fancyhead[L]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[R]{\\@acmBadgeR\\ACM@linecountR}%\n    \\else % Conference proceedings\n      \\fancyhead[L]{\\ACM@linecountL\\@acmBadgeL}%\n      \\fancyhead[R]{\\@acmBadgeR\\ACM@linecountR}%\n      \\fancyfoot[C]{\\if@ACM@printfolios\\footnotesize\\thepage\\fi}%\n    \\fi\n  \\else\n    \\fancyhead[L]{\\ACM@linecountL\\@acmBadgeL}%\n    \\fancyhead[R]{\\@acmBadgeR\\ACM@linecountR}%\n    \\fancyfoot[C]{\\if@ACM@printfolios\\footnotesize\\thepage\\fi}%\n  \\fi\n  \\if@ACM@timestamp\n    \\ifnum\\ACM@format@nr=0\\relax % Manuscript\n    \\fancyfoot[LO,RE]{\\ACM@timestamp\\quad\n      \\if@ACM@nonacm\\else\n        \\footnotesize Manuscript submitted to ACM\n      \\fi}\n    \\else\n    \\fancyfoot[LO,RE]{\\ACM@timestamp}\n    \\fi\n  \\fi\n  \\if@ACM@acmcp\n  \\renewcommand{\\footrulewidth}{0.1\\p@}%\n  \\fancyheadoffset[L]{46pt}%\n  \\fancyhead[L]{\\makebox[\\z@][l]{%\n      \\raisebox{-\\dimexpr(0.2\\textheight*(\\ACM@ArticleType@nr-2))}{%\n      \\rotatebox{90}{\\colorbox{@ACM@Article@color}{\\color{white}%\n          \\strut\\ACM@ArticleType~Article}}}}%\n    \\ACM@linecountL\\@acmBadgeL}%\n  \\fancyhead[R]{\\@acmBadgeR\\makebox[\\z@][r]{\\box\\@ACM@acmcpbox}}%\n  \\fancyfoot[L,C]{}%\n  \\fancyfoot[R]{\\footnotesize\n    \\@journalName, Volume~\\@acmVolume, Issue~\\@acmNumber,\n    \\ifx\\@acmArticle\\@empty\\else Article~\\@acmArticle\\fi\\space\n    (\\@acmPubDate)\\ifx\\@acmDOI\\@empty\\else\\\\\\@formatdoi{\\@acmDOI}\\fi}\n  \\fi\n}}\n\\def\\ACM@NRadjust#1{%\n \\begingroup\n  \\expandafter\\ifx\\csname Sectionformat\\endcsname\\relax\n  % do nothing when  \\Sectionformat  is unknown\n   \\def\\next{\\endgroup #1}%\n \\else\n  \\def\\next{\\endgroup\n   \\let\\realSectionformat\\Sectionformat\n   \\def\\ACM@sect@format@{#1}%\n   \\let\\Sectionformat\\ACM@NR@adjustedSectionformat\n %%  next lines added 2018-06-17 to ensure section number is styled\n   \\let\\real@adddotafter\\@adddotafter\n   \\let\\@adddotafter\\ACM@adddotafter\n   #1{}% imposes the styles, but nullifies  \\MakeUppercase\n   \\let\\@adddotafter\\real@adddotafter\n  }%\n \\fi \\next\n}\n\\def\\ACM@NR@adjustedSectionformat#1#2{%\n \\realSectionformat{\\ACM@sect@format{#1}}{#2}%\n \\let\\Sectionformat\\realSectionformat}\n\\DeclareRobustCommand{\\ACM@sect@format}{\\ACM@sect@format@}\n\\def\\ACM@sect@format@null#1{#1}\n\\let\\ACM@sect@format@\\ACM@sect@format@null\n\\AtBeginDocument{%\n \\expandafter\\ifx\\csname LTX@adddotafter\\endcsname\\relax\n  \\let\\LTX@adddotafter\\@adddotafter\n \\fi\n}\n\\def\\ACM@adddotafter#1{\\ifx\\relax#1\\relax\\else\\LTX@adddotafter{#1}\\fi}\n\\renewcommand\\section{\\@startsection{section}{1}{\\z@}%\n  {-.75\\baselineskip \\@plus -2\\p@ \\@minus -.2\\p@}%\n  {.25\\baselineskip}%\n  {\\ACM@NRadjust\\@secfont}}\n\\renewcommand\\subsection{\\@startsection{subsection}{2}{\\z@}%\n  {-.75\\baselineskip \\@plus -2\\p@ \\@minus -.2\\p@}%\n  {.25\\baselineskip}%\n  {\\ACM@NRadjust\\@subsecfont}}\n\\renewcommand\\subsubsection{\\@startsection{subsubsection}{3}{\\z@}%\n  {-.5\\baselineskip \\@plus -2\\p@ \\@minus -.2\\p@}%\n  {-3.5\\p@}%\n  {\\ACM@NRadjust{\\@subsubsecfont\\@adddotafter}}}\n\\renewcommand\\paragraph{\\@startsection{paragraph}{4}{\\parindent}%\n  {-.5\\baselineskip \\@plus -2\\p@ \\@minus -.2\\p@}%\n  {-3.5\\p@}%\n  {\\ACM@NRadjust{\\@parfont\\@adddotafter}}}\n\\newcommand\\noindentparagraph{\\@startsection{paragraph}{4}{\\z@}%\n  {-.5\\baselineskip \\@plus -2\\p@ \\@minus -.2\\p@}%\n  {-3.5\\p@}%\n  {\\ACM@NRadjust{\\@parfont}}}\n\n\\renewcommand\\part{\\@startsection{part}{9}{\\z@}%\n  {-10\\p@ \\@plus -4\\p@ \\@minus -2\\p@}%\n  {4\\p@}%\n  {\\ACM@NRadjust\\@parfont}}\n\\def\\section@raggedright{\\@rightskip\\@flushglue\n  \\rightskip\\@rightskip\n  \\leftskip\\z@skip\n  \\parindent\\z@}\n\\def\\@secfont{\\sffamily\\bfseries\\section@raggedright\\MakeTextUppercase}\n\\def\\@subsecfont{\\sffamily\\bfseries\\section@raggedright}\n\\def\\@subsubsecfont{\\sffamily\\itshape}\n\\def\\@parfont{\\itshape}\n\\setcounter{secnumdepth}{3}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n \\def\\@secfont{\\sffamily\\large\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\sffamily\\large\\section@raggedright}\n\\or % acmtog\n \\def\\@secfont{\\sffamily\\large\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\sffamily\\large\\section@raggedright}\n\\or % sigconf\n \\def\\@secfont{\\bfseries\\Large\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\bfseries\\Large\\section@raggedright}\n\\or % siggraph\n \\def\\@secfont{\\sffamily\\bfseries\\Large\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\sffamily\\bfseries\\Large\\section@raggedright}\n\\or % sigplan\n \\def\\@secfont{\\bfseries\\Large\\section@raggedright}\n \\def\\@subsecfont{\\bfseries\\section@raggedright}\n \\def\\@subsubsecfont{\\bfseries\\section@raggedright}\n \\def\\@parfont{\\bfseries\\itshape}\n \\def\\@subparfont{\\itshape}\n\\or % sigchi\n \\setcounter{secnumdepth}{1}\n \\def\\@secfont{\\sffamily\\bfseries\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\sffamily\\bfseries\\section@raggedright}\n\\or % sigchi-a\n \\setcounter{secnumdepth}{0}\n \\def\\@secfont{\\sffamily\\bfseries\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\sffamily\\bfseries\\section@raggedright}\n\\or % acmengage\n \\def\\@secfont{\\bfseries\\Large\\section@raggedright\\MakeTextUppercase}\n \\def\\@subsecfont{\\bfseries\\Large\\section@raggedright}\n\\or %acmcp\n\\fi\n\\def\\@adddotafter#1{#1\\@addpunct{.}}\n\\def\\@addspaceafter#1{#1\\@addpunct{\\enspace}}\n\\if@ACM@acmcp\n   \\setcounter{secnumdepth}{-1}%\n\\fi\n\\providecommand*\\@dotsep{4.5}\n\\def\\@acmplainbodyfont{\\itshape}\n\\def\\@acmplainindent{\\parindent}\n\\def\\@acmplainheadfont{\\scshape}\n\\def\\@acmplainnotefont{\\@empty}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n  \\def\\@acmplainbodyfont{\\itshape}\n  \\def\\@acmplainindent{\\z@}\n  \\def\\@acmplainheadfont{\\bfseries}\n  \\def\\@acmplainnotefont{\\normalfont}\n\\or % sigchi\n\\or % sigchi-a\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\newtheoremstyle{acmplain}%\n  {.5\\baselineskip\\@plus.2\\baselineskip\n    \\@minus.2\\baselineskip}% space above\n  {.5\\baselineskip\\@plus.2\\baselineskip\n    \\@minus.2\\baselineskip}% space below\n  {\\@acmplainbodyfont}% body font\n  {\\@acmplainindent}% indent amount\n  {\\@acmplainheadfont}% head font\n  {.}% punctuation after head\n  {.5em}% spacing after head\n  {\\thmname{#1}\\thmnumber{ #2}\\thmnote{ {\\@acmplainnotefont(#3)}}}% head spec\n\\def\\@acmdefinitionbodyfont{\\normalfont}\n\\def\\@acmdefinitionindent{\\parindent}\n\\def\\@acmdefinitionheadfont{\\itshape}\n\\def\\@acmdefinitionnotefont{\\@empty}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n  \\def\\@acmdefinitionbodyfont{\\normalfont}\n  \\def\\@acmdefinitionindent{\\z@}\n  \\def\\@acmdefinitionheadfont{\\bfseries}\n  \\def\\@acmdefinitionnotefont{\\normalfont}\n\\or % sigchi\n\\or % sigchi-a\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\newtheoremstyle{acmdefinition}%\n  {.5\\baselineskip\\@plus.2\\baselineskip\n    \\@minus.2\\baselineskip}% space above\n  {.5\\baselineskip\\@plus.2\\baselineskip\n    \\@minus.2\\baselineskip}% space below\n  {\\@acmdefinitionbodyfont}% body font\n  {\\@acmdefinitionindent}% indent amount\n  {\\@acmdefinitionheadfont}% head font\n  {.}% punctuation after head\n  {.5em}% spacing after head\n  {\\thmname{#1}\\thmnumber{ #2}\\thmnote{ {\\@acmdefinitionnotefont(#3)}}}% head spec\n\\theoremstyle{acmplain}\n\\AtEndPreamble{%\n  \\if@ACM@acmthm\n  \\theoremstyle{acmplain}\n  \\@ifundefined{theorem}{%\n  \\newtheorem{theorem}{Theorem}[section]\n  }{}\n  \\@ifundefined{conjecture}{%\n  \\newtheorem{conjecture}[theorem]{Conjecture}\n  }{}\n  \\@ifundefined{proposition}{%\n  \\newtheorem{proposition}[theorem]{Proposition}\n  }{}\n  \\@ifundefined{lemma}{%\n  \\newtheorem{lemma}[theorem]{Lemma}\n  }{}\n  \\@ifundefined{corollary}{%\n  \\newtheorem{corollary}[theorem]{Corollary}\n  }{}\n  \\theoremstyle{acmdefinition}\n  \\@ifundefined{example}{%\n  \\newtheorem{example}[theorem]{Example}\n  }{}\n  \\@ifundefined{definition}{%\n  \\newtheorem{definition}[theorem]{Definition}\n  }{}\n  \\fi\n  \\theoremstyle{acmplain}\n}\n\\def\\@proofnamefont{\\scshape}\n\\def\\@proofindent{\\indent}\n\\ifcase\\ACM@format@nr\n\\relax % manuscript\n\\or % acmsmall\n\\or % acmlarge\n\\or % acmtog\n\\or % sigconf\n\\or % siggraph\n\\or % sigplan\n  \\def\\@proofnamefont{\\itshape}\n  \\def\\@proofindent{\\noindent}\n\\or % sigchi\n\\or % sigchi-a\n\\or % acmengage\n\\or % acmcp\n\\fi\n\\renewenvironment{proof}[1][\\proofname]{\\par\n  \\pushQED{\\qed}%\n  \\normalfont \\topsep6\\p@\\@plus6\\p@\\relax\n  \\trivlist\n  \\item[\\@proofindent\\hskip\\labelsep\n        {\\@proofnamefont #1\\@addpunct{.}}]\\ignorespaces\n}{%\n  \\popQED\\endtrivlist\\@endpefalse\n}\n\\AtEndPreamble{%\n  \\if@ACM@pbalance\n    \\global\\@ACM@balancefalse\n    \\ifcase\\ACM@format@nr\n    \\relax % manuscript\n       \\or % acmsmall\n       \\or % acmlarge\n       \\or % acmtog\n          \\RequirePackage{pbalance}%\n       \\or % sigconf\n          \\RequirePackage{pbalance}%\n       \\or % siggraph\n          \\RequirePackage{pbalance}%\n       \\or % sigplan\n          \\RequirePackage{pbalance}%\n       \\or % sigchi\n          \\RequirePackage{pbalance}%\n       \\or % sigchi-a\n       \\or % acmengage\n          \\RequirePackage{pbalance}%\n       \\or % acmcp\n    \\fi\n  \\fi\n  \\if@ACM@balance\n    \\ifcase\\ACM@format@nr\n    \\relax % manuscript\n         \\global\\@ACM@balancefalse\n       \\or % acmsmall\n         \\global\\@ACM@balancefalse\n       \\or % acmlarge\n         \\global\\@ACM@balancefalse\n       \\or % acmtog\n          \\RequirePackage{balance}%\n       \\or % sigconf\n          \\RequirePackage{balance}%\n       \\or % siggraph\n          \\RequirePackage{balance}%\n       \\or % sigplan\n          \\RequirePackage{balance}%\n       \\or % sigchi\n          \\RequirePackage{balance}%\n       \\or % sigchi-a\n          \\global\\@ACM@balancefalse\n       \\or % acmengage\n          \\RequirePackage{balance}%\n       \\or % acmcp\n         \\global\\@ACM@balancefalse\n    \\fi\n  \\fi\n}\n\\AtEndDocument{%\n  \\if@ACM@balance\n  \\if@twocolumn\n  \\balance\n  \\fi\\fi}\n\\newcommand\\acksname{Acknowledgments}\n\\specialcomment{acks}{%\n  \\begingroup\n  \\section*{\\acksname}\n  \\phantomsection\\addcontentsline{toc}{section}{\\acksname}\n}{%\n  \\endgroup\n}\n\\def\\grantsponsor#1#2#3{#2}\n\\newcommand\\grantnum[3][]{#3%\n  \\def\\@tempa{#1}\\ifx\\@tempa\\@empty\\else\\space(\\url{#1})\\fi}\n\\AtEndPreamble{%\n\\if@ACM@screen\n  \\includecomment{screenonly}\n  \\excludecomment{printonly}\n\\else\n  \\excludecomment{screenonly}\n  \\includecomment{printonly}\n\\fi\n\\if@ACM@anonymous\n  \\excludecomment{anonsuppress}\n  \\excludecomment{acks}\n\\else\n  \\includecomment{anonsuppress}\n\\fi}\n\\newcommand\\showeprint[2][arxiv]{%\n  \\def\\@tempa{#1}%\n  \\ifx\\@tempa\\@empty\\def\\@tempa{arxiv}\\fi\n  \\def\\@tempb{arxiv}%\n  \\ifx\\@tempa\\@tempb\\relax\n     arXiv:\\href{https://arxiv.org/abs/#2}{#2}%\n  \\else\n     \\def\\@tempb{arXiv}%\n     \\ifx\\@tempa\\@tempb\\relax\n       arXiv:\\href{https://arxiv.org/abs/#2}{#2}%\n     \\else\n       #1:#2%\n    \\fi\n  \\fi}\n\\def\\theindex{\\@restonecoltrue\\if@twocolumn\\@restonecolfalse\\fi\n  \\columnseprule\\z@ \\columnsep 35\\p@\n  \\@indextitlestyle\n  \\let\\item\\@idxitem\n  \\parindent\\z@  \\parskip\\z@\\@plus.3\\p@\\relax\n  \\raggedright\n  \\hyphenpenalty\\@M\n  \\footnotesize}\n\\let\\@vspace@orig=\\@vspace\n\\let\\@vspacer@orig=\\@vspacer\n\\apptocmd{\\@vspace}{\\ClassWarning{\\@classname}{\\string\\vspace\\space should\n    only be used to provide space above/below surrounding\n    objects}}{}{}\n\\apptocmd{\\@vspacer}{\\ClassWarning{\\@classname}{\\string\\vspace\\space should\n    only be used to provide space above/below surrounding\n    objects}}{}{}\n\\let\\@vspace@acm=\\@vspace\n\\let\\@vspacer@acm=\\@vspacer\n\\let\\ACM@origbaselinestretch\\baselinestretch\n\\AtEndDocument{\\ifx\\baselinestretch\\ACM@origbaselinestretch\\else\n  \\ClassError{\\@classname}{An attempt to redefine\n    \\string\\baselinestretch\\space detected.  Please do not do this for\n    ACM submissions!}\\fi}\n\\normalsize\\normalfont\\frenchspacing\n\\endinput\n%%\n%% End of file `acmart.cls'.\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/acmnumeric.bbx",
    "content": "\\ProvidesFile{acmnumeric.bbx}[2017-09-27 v0.1 biblatex bibliography style]\n\n% Inherit a default style\n\\RequireBibliographyStyle{trad-plain}\n\n\n\n%%% Localisation strings for ACM\n\n\\DefineBibliographyStrings{american}{%\n  mathesis = {Master's thesis},\n  phdthesis = {Ph\\adddot{}D\\adddotspace Dissertation},\n  editor = {(Ed\\adddot)},\n  editors = {(Eds\\adddot)},\n  edition = {ed\\adddot},\n}\n\n\n\n%%% Formatting for fields\n\n%\\DeclareFieldFormat\n%  [article,inbook,incollection,inproceedings,patent,thesis,unpublished]\n%  {title}{#1}\n\\DeclareFieldFormat{pages}{#1}\n\n\\DeclareFieldFormat{numpages}{#1 pages}\n\n\\DeclareFieldFormat{number}{#1}\n\n\\DeclareFieldFormat{articleno}{Article #1}\n\n\\DeclareFieldFormat{key}{#1}\n\n\\DeclareFieldFormat{urldate}{Retrieved\\space{}#1\\space{}from}\n\\DeclareFieldFormat{lastaccessed}{Retrieved\\space{}#1\\space{}from}\n\n\\DeclareFieldFormat{url}{\\url{#1}}\n\n\\DeclareFieldFormat{edition}{%\n  \\printtext[parens]{\\ifinteger{#1}\n    {\\mkbibordedition{#1}~\\bibstring{edition}}\n    {#1\\isdot~\\bibstring{edition}}}}\n\n\n% Handle urls field containing 'and' separated list of URLs\n% https://github.com/plk/biblatex/issues/229\n\\DeclareListFormat{urls}{%\n  \\url{#1}%\n  \\ifthenelse{\\value{listcount}<\\value{liststop}}\n    {\\addcomma\\space}\n    {}}\n\\renewbibmacro*{url}{\\iffieldundef{url}{\\printlist{urls}}{\\printfield{url}}}\n\n\n\n%%% Bibmacro definitions\n\n\\renewbibmacro*{translator+others}{%\n  \\ifboolexpr{\n    test \\ifusetranslator\n    and\n    not test {\\ifnameundef{translator}}\n  }\n    {\\printnames{translator}%\n     \\setunit{\\addcomma\\space}%\n     \\usebibmacro{translator+othersstrg}%\n     \\clearname{translator}}\n    {\\printfield{key}}}\n\n\\newbibmacro*{year}{%\n  \\iffieldundef{year}%\n    {\\printtext{[n.\\ d.]}}%\n    {\\printfield{year}}%\n}\n\n\\renewbibmacro*{date}{\\printtext[parens]{\\printdate}}\n\n\n\\renewbibmacro*{url+urldate}{\\iffieldundef{urlyear}\n    {\\iffieldundef{lastaccessed}\n     {}\n     {\\printfield{lastaccessed}%\n     \\setunit*{\\addspace}}%\n    }\n    {\\usebibmacro{urldate}%\n     \\setunit*{\\addspace}}%\n     \\usebibmacro{url}%\n  }\n\n\\renewbibmacro*{journal+issuetitle}{%\n  \\usebibmacro{journal}%\n  \\setunit*{\\addcomma\\space}%\n  \\iffieldundef{series}\n    {}\n    {\\newunit%\n     \\printfield{series}%\n     \\setunit{\\addspace}}%\n  \\usebibmacro{volume+number+date+pages+eid}%\n  \\newcommaunit%\n%  \\setunit{\\addspace}%\n  \\usebibmacro{issue-issue}%\n  \\setunit*{\\addcolon\\space}%\n  \\usebibmacro{issue}%\n  \\newunit}\n\n\n\n\\newbibmacro*{volume+number+date+pages+eid}{%\n  \\printfield{volume}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{number}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{articleno}\n  \\setunit{\\addcomma\\space}\n  \\usebibmacro{date-ifmonth}\n  \\setunit{\\addcomma\\space}%\n  \\iffieldundef{pages}%\n    {\\printfield{numpages}}%\n    {\\printfield{pages}}%\n  \\newcommaunit%\n  \\printfield{eid}}%\n\n\\renewbibmacro*{chapter+pages}{%\n  \\printfield{chapter}%\n  \\setunit{\\bibpagespunct}%\n  \\iffieldundef{pages}%\n    {\\printfield{numpages}}%\n    {\\printfield{pages}}%\n  \\newunit}\n\n\\renewbibmacro*{editor+others}{%\n  \\ifboolexpr{\n    test \\ifuseeditor\n    and\n    not test {\\ifnameundef{editor}}\n  }\n    {\\printnames{editor}%\n     \\setunit{\\addcomma\\space}%\n     \\usebibmacro{editor+othersstrg}%\n     \\clearname{editor}}\n    {\\iflistundef{organization}{}{\\printlist{organization}}}}\n\n\n\\newbibmacro*{issue-issue}{%\n  \\iffieldundef{issue}%\n    {}%\n    {\\printfield{issue}%\n     \\setunit*{\\addcomma\\space}%\n     \\usebibmacro{date-ifmonth}%\n    }%\n  \\newunit}\n\n\n\n\n\\newbibmacro*{maintitle+booktitle+series+number}{%\n  \\iffieldundef{maintitle}\n    {}\n    {\\usebibmacro{maintitle}%\n     \\newunit\\newblock\n     \\iffieldundef{volume}\n       {}\n       {\\printfield{volume}%\n        \\printfield{part}%\n        \\setunit{\\addcolon\\space}}}%\n  \\usebibmacro{booktitle}%\n  \\setunit*{\\addspace}\n  \\printfield[parens]{series}%\n  \\setunit*{\\addspace}%\n  \\printfield{number}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{articleno}\n  \\newunit\n  }\n\n\\renewbibmacro*{booktitle}{%\n  \\ifboolexpr{\n    test {\\iffieldundef{booktitle}}\n    and\n    test {\\iffieldundef{booksubtitle}}\n  }\n    {}\n    {\\printtext[booktitle]{%\n       \\printfield[titlecase]{booktitle}%\n       \\iffieldundef{booksubtitle}{}{\n       \\setunit{\\subtitlepunct}%\n       \\printfield[titlecase]{booksubtitle}}%\n       }%\n    }%\n  \\printfield{booktitleaddon}}\n\n\\renewbibmacro*{volume+number+eid}{%\n  \\printfield{volume}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{number}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{articleno}\n  \\setunit{\\addcomma\\space}%\n  \\printfield{eid}}\n\n\n\\renewbibmacro*{publisher+location+date}{%\n  \\printlist{publisher}%\n  \\setunit*{\\addcomma\\space}%\n  \\printlist{location}%\n  \\setunit*{\\addcomma\\space}%\n  \\usebibmacro{date-ifmonth}%\n  \\newunit}\n\n\n\\newbibmacro{date-ifmonth}{%\n  \\iffieldundef{month}{}{%\n    \\usebibmacro{date}\n  }%\n}\n\n\n\\renewbibmacro*{institution+location+date}{%\n  \\printlist{school}%\n  \\setunit*{\\addcomma\\space}%\n  \\printlist{institution}%\n  \\setunit*{\\addcomma\\space}%\n  \\printlist{location}%\n  \\setunit*{\\addcomma\\space}%\n  \\usebibmacro{date-ifmonth}%\n  \\newunit}\n\n\n\\renewbibmacro*{periodical}{%\n  \\iffieldundef{title}\n    {}\n    {\\printtext[title]{%\n       \\printfield[titlecase]{title}%\n       \\setunit{\\subtitlepunct}%\n       \\printfield[titlecase]{subtitle}}}%\n       \\newunit%\n       \\usebibmacro{journal}}\n\n\\renewbibmacro*{issue+date}{%\n    \\iffieldundef{issue}\n      {\\usebibmacro{date}}\n      {\\printfield{issue}%\n       \\setunit*{\\addspace}%\n       \\usebibmacro{date}}%\n  \\newunit}\n\n\\renewbibmacro*{title+issuetitle}{%\n  \\usebibmacro{periodical}%\n  \\setunit*{\\addspace}%\n  \\iffieldundef{series}\n    {}\n    {\\newunit\n     \\printfield{series}%\n     \\setunit{\\addspace}}%\n  \\printfield{volume}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{number}%\n  \\setunit*{\\addcomma\\space}%\n  \\printfield{articleno}\n  \\setunit{\\addcomma\\space}%\n  \\printfield{eid}%\n  \\setunit{\\addspace}%\n  \\usebibmacro{issue+date}%\n  \\setunit{\\addcolon\\space}%\n  \\usebibmacro{issue}%\n  \\newunit}\n\n\\renewbibmacro*{doi+eprint+url}{%\n  \\iftoggle{bbx:url}\n    {\\iffieldundef{doi}{\n      \\usebibmacro{url+urldate}\n      }{\\iffieldundef{distinctURL}\n      {}\n      {\\usebibmacro{url+urldate}}\n      }\n    }%\n  \\newunit\\newblock\n  \\iftoggle{bbx:eprint}\n    {\\usebibmacro{eprint}}\n    {}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:doi}\n    {\\printfield{doi}}\n    {}}\n\n\n%%% Definitions for drivers (alphabetical)\n\n\n\n\\DeclareBibliographyDriver{article}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock%\n  \\usebibmacro{year}%\n  \\newunit%\n  \\usebibmacro{title}%\n  \\newunit%\n  \\printlist{language}%\n  \\newunit\\newblock%\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock%\n  \\usebibmacro{bytranslator+others}%\n  \\newunit\\newblock%\n  \\printfield{version}%\n  \\newunit\\newblock%\n  \\usebibmacro{journal+issuetitle}%\n  \\newunit%\n  \\usebibmacro{byeditor+others}%\n  \\newunit%\n  \\printfield{note}%\n  \\newunit\\newblock%\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock%\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock%\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock%\n  \\usebibmacro{related}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{book}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/editor+others/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}%\n  \\newunit%\n  \\usebibmacro{maintitle+title}%\n  \\newunit%\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor+others}%\n  \\newunit\\newblock\n  \\printfield{edition}%\n  \\newunit\n  \\usebibmacro{series+number}%\n  \\iffieldundef{maintitle}\n    {\\printfield{volume}%\n     \\printfield{part}}\n    {}%\n  \\newunit\n  \\newunit\\newblock\n  \\printfield{volumes}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{publisher+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\n  \\printfield{pagetotal}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{inbook}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\iffieldundef{author}%\n    {\\usebibmacro{byeditor+others}}%\n    {\\usebibmacro{author/translator+others}}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n%  \\usebibmacro{in:}%\n  \\usebibmacro{bybookauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{maintitle+booktitle}%\n  \\newunit\\newblock\n  \\iffieldundef{author}{}%if undef then we already printed editor\n    {\\usebibmacro{byeditor+others}}%\n  \\newunit\\newblock\n  \\printfield{edition}%\n  \\newunit\n  \\iffieldundef{maintitle}\n    {\\printfield{volume}%\n     \\printfield{part}}\n    {}%\n  \\newunit\n  \\printfield{volumes}%\n  \\newunit\\newblock\n  \\usebibmacro{series+number}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{publisher+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{incollection}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{in:}%\n  \\usebibmacro{maintitle+booktitle}%\n  \\newunit\\newblock\n  \\usebibmacro{series+number}%\n  \\newunit\\newblock\n  \\printfield{edition}%\n  \\newunit\n  \\iffieldundef{maintitle}\n    {\\printfield{volume}%\n     \\printfield{part}}\n    {}%\n  \\newunit\n  \\printfield{volumes}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor+others}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{publisher+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{inproceedings}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{in:}%\n  \\usebibmacro{maintitle+booktitle+series+number}%\n  \\newunit\\newblock\n  \\usebibmacro{event+venue+date}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor+others}%\n  \\newunit\\newblock\n  \\iffieldundef{maintitle}\n    {\\printfield{volume}%\n     \\printfield{part}}\n    {}%\n  \\newunit\n  \\printfield{volumes}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\printlist{organization}%\n  \\newunit\n  \\usebibmacro{publisher+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{manual}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/editor+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor}%\n  \\newunit\\newblock\n  \\printfield{edition}%\n  \\newunit\\newblock\n  \\usebibmacro{series+number}%\n  \\newunit\\newblock\n  \\printfield{type}%\n  \\newunit\n  \\printfield{version}%\n  \\newunit\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\printlist{organization}%\n  \\newunit\n  \\usebibmacro{publisher+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\n  \\printfield{pagetotal}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{misc}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/editor+others/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor+others}%\n  \\newunit\\newblock\n  \\printfield{howpublished}%\n  \\newunit\\newblock\n  \\printfield{type}%\n  \\newunit\n  \\printfield{version}%\n  \\newunit\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{organization+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{online}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author/editor+others/translator+others}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor+others}%\n  \\newunit\\newblock\n  \\printfield{version}%\n  \\newunit\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\printlist{organization}%\n  \\newunit\\newblock\n  \\usebibmacro{date-ifmonth}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:eprint}\n    {\\usebibmacro{eprint}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{url+urldate}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareFieldFormat[patent]{number}{Patent No.~#1}\n\n\\DeclareBibliographyDriver{patent}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}%\n  \\newunit\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\usebibmacro{date}%\n  \\newunit\\newblock\n  \\printfield{type}%\n  \\setunit*{\\addspace}%\n  \\printfield{number}%\n  \\iflistundef{location}\n    {}\n    {\\setunit*{\\addspace}%\n     \\printtext[parens]{%\n       \\printlist[][-\\value{listtotal}]{location}}}%\n  \\newunit\\newblock\n  \\usebibmacro{byholder}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{periodical}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{editor}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\n  \\usebibmacro{title+issuetitle}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byeditor}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{issn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{report}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\printfield{type}%\n  \\setunit*{\\addspace}%\n  \\printfield{number}%\n  \\newunit\\newblock\n  \\printfield{version}%\n  \\newunit\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\usebibmacro{institution+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\n  \\printfield{pagetotal}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isrn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n\n\n\\DeclareBibliographyDriver{thesis}{%\n  \\usebibmacro{bibindex}%\n  \\usebibmacro{begentry}%\n  \\usebibmacro{author}%\n  \\setunit{\\labelnamepunct}\\newblock\n  \\usebibmacro{year}\n  \\newunit\n  \\usebibmacro{title}%\n  \\newunit\n  \\printlist{language}%\n  \\newunit\\newblock\n  \\usebibmacro{byauthor}%\n  \\newunit\\newblock\n  \\printfield{type}%\n  \\newunit\n  \\usebibmacro{institution+location+date}%\n  \\newunit\\newblock\n  \\usebibmacro{chapter+pages}%\n  \\newunit\n  \\printfield{pagetotal}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:isbn}\n    {\\printfield{isbn}}\n    {}%\n  \\newunit\\newblock\n  \\usebibmacro{doi+eprint+url}%\n  \\newunit\\newblock\n  \\usebibmacro{addendum+pubstate}%\n  \\setunit{\\bibpagerefpunct}\\newblock\n  \\usebibmacro{pageref}%\n  \\newunit\\newblock\n  \\printfield{note}%\n  \\newunit\\newblock\n  \\iftoggle{bbx:related}\n    {\\usebibmacro{related:init}%\n     \\usebibmacro{related}}\n    {}%\n  \\usebibmacro{finentry}}\n\n%\n% Include support for software entries\n%\n\\blx@inputonce{software.bbx}{biblatex style for software}{}{}{}{}\n\n%\n% Handle ACM specific ArtifactSoftware entry exactly as the software entry (a soft alias will not work)\n%\n\\DeclareStyleSourcemap{\n  \\maps[datatype=bibtex]{\n   \\map{\n     \\step[typesource=artifactsoftware,typetarget=software]\n     \\step[typesource=artifactdataset,typetarget=dataset]\n   }\n  }\n}     \n\n%\n% Show given name first in the reference list\n%\n\\DeclareNameAlias{sortname}{given-family}\n\n%\n% Produce a bibliography with small font size\n%\n\\renewcommand*{\\bibfont}{\\bibliofont\\footnotesize}\n\n%%% Set option values for ACM style\n\n\\ExecuteBibliographyOptions{\n  labeldate=year,\n  abbreviate=true,\n  dateabbrev=true,\n  isbn=true,\n  doi=true,\n  urldate=comp,\n  url=true,\n  maxbibnames=9,\n  maxcitenames=2,\n  backref=false,\n  sorting=nty,\n  halid=true,\n  swhid=true,\n  swlabels=true,\n  vcs=true,\n  license=false,\n  language=american\n  }"
  },
  {
    "path": "gwp-asan/icse2024/paper/acmnumeric.cbx",
    "content": "\\ProvidesFile{acmnumeric.cbx}[2017-09-27 v0.1]\n\n\\RequireCitationStyle{numeric}\n\n\\endinput\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/gwpasan.tex",
    "content": "\\documentclass[sigconf,natbib=false]{acmart}\n%\\acmConference[ICSE 2024]{46th International Conference on Software Engineering}{April 2024}{Lisbon, Portugal}\n\\copyrightyear{2024}\n\\acmYear{2024}\n\\setcopyright{rightsretained}\n\\acmConference[ICSE-SEIP '24]{46th International Conference on Software\nEngineering: Software Engineering in Practice}{April 14--20, 2024}{Lisbon,\nPortugal}\n\\acmBooktitle{46th International Conference on Software Engineering: Software\nEngineering in Practice (ICSE-SEIP '24), April 14--20, 2024, Lisbon,\nPortugal}\\acmDOI{10.1145/3639477.3640328}\n\\acmISBN{979-8-4007-0501-4/24/04}\n\n% Language, encoding, and fonts.\n\\usepackage[english]{babel}\n\\usepackage[T1]{fontenc}\n\\usepackage[utf8]{inputenc}\n\n\\usepackage{microtype}\n% Some common useful packages.\n%\\usepackage[table]{xcolor}\n\\usepackage{array}\n\\usepackage{calc}\n\\usepackage{hyperref}\n\\urlstyle{same}\n\\usepackage[all]{hypcap} % requires hyperref to be loaded before\n\\usepackage{amsmath}\n\\usepackage[page]{appendix}\n\\usepackage{graphicx}\n\\usepackage{float}\n% Compress itemize and enumerate environments.\n\\usepackage{enumerate}\n\\usepackage{enumitem}\n\\setlist{noitemsep, leftmargin=*, topsep=0.5ex, partopsep=0.5ex}\n\n% For code\n\\usepackage{listings}\n\\lstset{basicstyle=\\ttfamily}\n\\lstdefinelanguage\n   [x64]{Assembler}\n   [x86masm]{Assembler}\n   {morekeywords={\n      fisttpll,\n      fldln2,\n      fprem1,\n      fld1,\n      fcos,\n      f2xm1,\n      rax, rdi\n   }}\n\n% Tikz\n\\usepackage{tikz}\n\\usetikzlibrary{patterns}\n\\usetikzlibrary{positioning}\n\n% class: article\n\\usepackage[bottom]{footmisc}\n%\\usepackage{fancyhdr,lastpage}\n%%\\pagestyle{headings}\n%\\pagestyle{fancy}\n%\\fancyhf{}\\renewcommand{\\headrulewidth}{0pt}\n\n\\usepackage[backend=biber,\n  style=acmnumeric,\n  datamodel=acmdatamodel,\n  sorting=none, % appear in order cited\n  maxbibnames=99,\n]{biblatex}\n%\\renewcommand*{\\bibfont}{\\small}\n%\\renewcommand{\\UrlFont}{\\ttfamily\\footnotesize}\n\\usepackage{csquotes} % Recommended for BibLaTeX\n\\bibliography{ref}\n\n\\newcommand{\\runinsec}[1]{\\vspace{0.2em}\\noindent\\textbf{#1} }\n\\newcommand{\\inlcode}[1]{\\textsf{#1}}\n\\newcommand{\\backhex}[1]{\\inlcode{\\textbackslash{}x#1}}\n\n\\title{GWP-ASan: Sampling-Based Detection of Memory-Safety Bugs in Production}\n\n\\author{Kostya Serebryany}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{kcc@google.com}\n\n\\author{Chris Kennelly}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{ckennelly@google.com}\n\n\\author{Mitch Phillips}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{mitchp@google.com}\n\n\\author{Matt Denton}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{mpdenton@google.com}\n\n\\author{Marco Elver}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{elver@google.com}\n\n\\author{Alexander Potapenko}\n\\affiliation{\\institution{Google}\\city{}\\country{}}\n\\email{glider@google.com}\n\n\\author{Matt Morehouse}\n\\authornote{At Google when working on this project.}\n\\affiliation{%\n  \\institution{Independent Researcher}\n  \\city{}\n  \\country{}\n}\n\\email{mattmorehouse@gmail.com}\n\n\\author{Vlad Tsyrklevich}\n\\authornotemark[1]\n\\affiliation{%\n  \\institution{Independent Researcher}\n  \\city{}\n  \\country{}\n}\n\\email{vlad@tsyrklevi.ch}\n\n\\author{Christian Holler}\n\\affiliation{\\institution{Mozilla Corporation}\\city{}\\country{}}\n\\email{choller@mozilla.com}\n\n\\author{Julian Lettner}\n\\affiliation{\\institution{Apple}\\city{}\\country{}}\n\\email{julian.lettner@apple.com}\n\n\\author{David Kilzer}\n\\affiliation{\\institution{Apple}\\city{}\\country{}}\n\\email{ddkilzer@apple.com}\n\n\\author{Lander Brandt}\n\\affiliation{\\institution{Meta}\\city{}\\country{}}\n\\email{landerb@meta.com}\n\n% ACM template list of authors header\n\\renewcommand{\\shortauthors}{Serebryany, et al.}\n\n\\date{}\n\n\\begin{document}\n\\input{tex/abstract.tex}\n\n% https://dl.acm.org/ccs\n\\ccsdesc[500]{Software and its engineering~Allocation / deallocation\nstrategies}\n\\ccsdesc[500]{Security and privacy~Software security engineering}\n\\ccsdesc[500]{Theory of computation~Program analysis}\n\n\\keywords{Memory Safety, Dynamic Program Analysis, Programming Languages,\nSoftware Engineering}\n\n\\maketitle\n\n%% -------------------------- BEGIN CONTENT -------------------------------- %%\n\n\\input{tex/intro.tex}\n\\input{tex/background.tex}\n\\input{tex/gwpasan.tex}\n\\input{tex/eval.tex}\n\\input{tex/related.tex}\n\\input{tex/future.tex}\n\\input{tex/conclusion.tex}\n\n\\printbibliography\n\n%\\clearpage\n%\\input{tex/appendix.tex}\n\n%% -------------------------- END CONTENT -------------------------------- %%\n\n\\end{document}\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/ref.bib",
    "content": "\n@techreport{Anderson1972,\n  title={Computer security technology planning study},\n  author={Anderson, James P.},\n  year={1972},\n  institution={ESD-TR-73-51}\n}   \n\n@article{Orman2003,\n  title={The Morris worm: {A} fifteen-year perspective},\n  author={Orman, Hilarie},\n  journal={IEEE Security \\& Privacy},\n  volume={1},\n  number={5},\n  pages={35--43},\n  year={2003},\n  publisher={IEEE}\n}   \n\n@online{Gaynor2020,\n  author = {Alex Gaynor},\n  title = {{What science can tell us about C and C++'s security}},\n  month = may,\n  year = 2020,\n  url = {https://alexgaynor.net/2020/may/27/science-on-memory-unsafety-and-security/},\n  urldate = {2023-08-08},\n}   \n\n@article{Smith2001,\n  author = {Smith, Larry},\n  title = {{Shift-Left Testing}},\n  year = {2001},\n  publisher = {CMP Media, Inc.},\n  address = {USA},\n  volume = {26},\n  number = {9},\n  issn = {1044-789X},\n  journal = {Dr. Dobb's J.},\n  month = {sep}\n}   \n\n@article{AingaranJKLLMPR2015,\n  author       = {Kathirgamar Aingaran and\n                  Sumti Jairath and\n                  Georgios K. Konstadinidis and\n                  Serena Leung and\n                  Paul Loewenstein and\n                  Curtis McAllister and\n                  Stephen Phillips and\n                  Zoran Radovic and\n                  Ram Sivaramakrishnan and\n                  David Smentek and\n                  Thomas Wicki},\n  title        = {{{M7:} Oracle's Next-Generation Sparc Processor}},\n  journal      = {{IEEE} Micro},\n  volume       = {35},\n  number       = {2},\n  pages        = {36--45},\n  year         = {2015},\n  ee           = {https://doi.org/10.1109/MM.2015.35},\n  doi          = {10.1109/MM.2015.35}\n}   \n\n@article{Serebryany2019,\n  author       = {Kostya Serebryany},\n  title        = {{ARM} Memory Tagging Extension and How It Improves {C/C++} Memory\n                  Safety},\n  journal      = {login Usenix Mag.},\n  volume       = {44},\n  number       = {2},\n  year         = {2019},\n  url          = {https://www.usenix.org/publications/login/summer2019/serebryany}\n}   \n\n@inproceedings{NethercoteS2007,\n  author       = {Nicholas Nethercote and\n                  Julian Seward},\n  title        = {Valgrind: a framework for heavyweight dynamic binary instrumentation},\n  booktitle    = {PLDI},\n  pages        = {89--100},\n  publisher    = {{ACM}},\n  year         = {2007},\n  ee           = {https://doi.org/10.1145/1250734.1250746},\n  doi          = {10.1145/1250734.1250746}\n}   \n\n@inproceedings{SerebryanyBPV2012,\n  author       = {Konstantin Serebryany and\n                  Derek Bruening and\n                  Alexander Potapenko and\n                  Dmitriy Vyukov},\n  title        = {AddressSanitizer: {A} Fast Address Sanity Checker},\n  booktitle    = {USENIX},\n  pages        = {309--318},\n  publisher    = {{USENIX} Association},\n  year         = {2012},\n  url          = {https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany}\n}   \n\n@article{SerebryanySSTV2018,\n  author       = {Kostya Serebryany and\n                  Evgenii Stepanov and\n                  Aleksey Shlyapnikov and\n                  Vlad Tsyrklevich and\n                  Dmitry Vyukov},\n  title        = {Memory Tagging and how it improves {C/C++} memory safety},\n  journal      = {CoRR},\n  volume       = {abs/1802.09517},\n  year         = {2018},\n  ee           = {http://arxiv.org/abs/1802.09517},\n  eprinttype    = {arXiv},\n  eprint       = {1802.09517},\n}   \n\n@article{RenTMSRH2010,\n  author       = {Gang Ren and\n                  Eric Tune and\n                  Tipp Moseley and\n                  Yixin Shi and\n                  Silvius Rus and\n                  Robert Hundt},\n  title        = {{Google-Wide Profiling: {A} Continuous Profiling Infrastructure for\n                  Data Centers}},\n  journal      = {{IEEE} Micro},\n  volume       = {30},\n  number       = {4},\n  pages        = {65--79},\n  year         = {2010},\n  ee           = {https://doi.org/10.1109/MM.2010.68},\n  doi          = {10.1109/MM.2010.68}\n}   \n\n@online{LinuxStaticKeys,\n  author = {{The Linux Kernel Authors}},\n  title = {{Static Keys}},\n  year = 2023,\n  url = {https://docs.kernel.org/staging/static-keys.html},\n  urldate = {2023-08-08},\n}   \n\n@online{PKU,\n  author = {{The Linux Kernel Authors}},\n  title = {{Memory Protection Keys}},\n  year = 2023,\n  url = {https://www.kernel.org/doc/html/latest/core-api/protection-keys.html},\n  urldate = {2023-08-08},\n}   \n\n@article{SLUB,\n  author    = {Jonathan Corbet},\n  title     = {{The SLUB allocator}},\n  journal   = {Linux Weekly News (LWN)},\n  year      = {2007},\n  url       = {https://lwn.net/Articles/229984/},\n}   \n\n@online{LightweightUafDetector,\n  author = {Kentaro Hara and Sergei Glazunov},\n  title = {{Lightweight UaF Detector}},\n  month = dec,\n  year = 2022,\n  url = {https://docs.google.com/document/d/1xfGa_IMtFZiQ3beOmkncEafODwn4U90ZyL4NfPaAtDY/edit?resourcekey=0-89BZl1SVILB6ylOHula0IA},\n  urldate = {2023-08-08},\n}   \n\n@online{EFence,\n  author = {Bruce Perens},\n  title = {{efence: Electric Fence Malloc Debugger}},\n  year = 2003,\n  url = {https://web.archive.org/web/20100829220331/http://perens.com/FreeSoftware/ElectricFence/},\n  urldate = {2023-08-08},\n}   \n\n@online{TCMalloc,\n  author = {The TCMalloc Authors},\n  title = {{TCMalloc: Thread-Caching Malloc}},\n  year = 2023,\n  url = {https://github.com/google/tcmalloc},\n  urldate = {2023-08-08},\n}   \n\n@online{PageHeap,\n  author = {Microsoft Corporation},\n  title = {{GFlags and PageHeap}},\n  year = 2022,\n  url = {https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/gflags-and-pageheap},\n  urldate = {2023-08-08},\n}   \n\n@online{MiraclePtr,\n  author = {Adrian Taylor and Bartek Nowierski and Kentaro Hara},\n  title = {{Use-after-freedom: MiraclePtr}},\n  year = 2022,\n  url = {https://security.googleblog.com/2022/09/use-after-freedom-miracleptr.html},\n  urldate = {2023-08-08},\n}   \n\n@inproceedings{LattnerA2004,\n  author       = {Chris Lattner and\n                  Vikram S. Adve},\n  title        = {{LLVM:} {A} Compilation Framework for Lifelong Program Analysis {\\&}\n                  Transformation},\n  booktitle    = {CGO},\n  pages        = {75--88},\n  publisher    = {{IEEE} Computer Society},\n  year         = {2004},\n  ee           = {https://doi.org/10.1109/CGO.2004.1281665},\n  doi          = {10.1109/CGO.2004.1281665},\n}   \n\n@online{compiler-rt,\n  author = {The LLVM Authors},\n  title = {{compiler-rt runtime libraries}},\n  year = 2023,\n  url = {https://compiler-rt.llvm.org/},\n  urldate = {2023-08-08},\n}   \n\n@online{GWPASan2019,\n  author = {{Matt Morehouse, Vlad Tsyrklevich, Mitch Phillips, Kostya Serebryany}},\n  title = {{GWP-ASan: Zero-Cost Detection of Memory Safety Bugs in Production}},\n  year = 2019,\n  month = oct,\n  url = {https://llvm.org/devmtg/2019-10/slides/Morehouse-GWP-ASan.pdf},\n  urldate = {2023-08-08},\n}   \n\n@online{PGM,\n  author = {{Filip Pizlo}},\n  title = {{All About Libpas, Phil's Super Fast Malloc}},\n  year = 2022,\n  month = feb,\n  url = {https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/libpas/Documentation.md},\n  urldate = {2023-08-08},\n}   \n\n@online{GWPTsan,\n  author = {{Matt Morehouse and Kostya Serebryany}},\n  title = {{GWP-TSan: Zero-Cost Detection of Data Races in Production}},\n  year = 2020,\n  month = oct,\n  url = {https://llvm.org/devmtg/2020-09/slides/Morehouse-GWP-Tsan.pdf},\n  urldate = {2023-08-08},\n}   \n\n@inproceedings{Randell2003,\n  author       = {Brian Randell},\n  title        = {{On Failures and Faults}},\n  booktitle    = {{FME} 2003: Formal Methods, International Symposium of Formal Methods\n                  Europe, Pisa, Italy, September 8-14, 2003, Proceedings},\n  series       = {Lecture Notes in Computer Science},\n  volume       = {2805},\n  publisher    = {Springer},\n  year         = {2003},\n  ee           = {https://doi.org/10.1007/978-3-540-45236-2\\_3},\n  doi          = {10.1007/978-3-540-45236-2\\_3}\n}   \n\n@inproceedings{SzekeresPWS2013,\n  author       = {Laszlo Szekeres and\n                  Mathias Payer and\n                  Tao Wei and\n                  Dawn Song},\n  title        = {{SoK: Eternal War in Memory}},\n  booktitle    = {2013 {IEEE} Symposium on Security and Privacy, {SP} 2013, Berkeley,\n                  CA, USA, May 19-22, 2013},\n  publisher    = {{IEEE} Computer Society},\n  year         = {2013},\n  ee           = {https://doi.org/10.1109/SP.2013.13},\n  doi          = {10.1109/SP.2013.13}\n}   \n\n@book{CAR,\n  author       = {John L. Hennessy and\n                  David A. Patterson},\n  title        = {Computer Architecture - {A} Quantitative Approach, 5th Edition},\n  publisher    = {Morgan Kaufmann},\n  year         = {2012},\n  isbn         = {978-0-12-383872-8}\n}   \n\n@inproceedings{LiblitAZJ2003,\n  author       = {Ben Liblit and\n                  Alexander Aiken and\n                  Alice X. Zheng and\n                  Michael I. Jordan},\n  title        = {Bug isolation via remote program sampling},\n  booktitle    = {PLDI},\n  publisher    = {{ACM}},\n  year         = {2003},\n  ee           = {https://doi.org/10.1145/781131.781148},\n  doi          = {10.1145/781131.781148}\n}   \n\n@inproceedings{NeculaMW2002,\n  author       = {George C. Necula and\n                  Scott McPeak and\n                  Westley Weimer},\n  title        = {CCured: type-safe retrofitting of legacy code},\n  booktitle    = {POPL},\n  publisher    = {{ACM}},\n  year         = {2002},\n  ee           = {https://doi.org/10.1145/503272.503286},\n  doi          = {10.1145/503272.503286}\n}   \n\n@inproceedings{NainarCRL2007,\n  author       = {Piramanayagam Arumuga Nainar and\n                  Ting Chen and\n                  Jake Rosin and\n                  Ben Liblit},\n  title        = {Statistical debugging using compound boolean predicates},\n  booktitle    = {{ISSTA}},\n  publisher    = {{ACM}},\n  year         = {2007},\n  ee           = {https://doi.org/10.1145/1273463.1273467},\n  doi          = {10.1145/1273463.1273467},\n}   \n\n@inproceedings{HauswirthC2004,\n  author       = {Matthias Hauswirth and\n                  Trishul M. Chilimbi},\n  title        = {Low-overhead memory leak detection using adaptive statistical profiling},\n  booktitle    = {{ASPLOS}},\n  publisher    = {{ACM}},\n  year         = {2004},\n  ee           = {https://doi.org/10.1145/1024393.1024412},\n  doi          = {10.1145/1024393.1024412}\n}   \n\n@online{DMalloc,\n  author = {{Gray Watson}},\n  title = {{Debug Malloc Library}},\n  year = 2020,\n  url = {https://dmalloc.com/docs/dmalloc.pdf},\n  urldate = {2024-01-08},\n}   \n\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/abstract.tex",
    "content": "\\begin{abstract}\n\n  Despite the recent advances in pre-production bug detection,\n  heap-use-after-free and heap-buffer-overflow bugs remain the primary problem\n  for security, reliability, and developer productivity for applications\n  written in C or C++, across all major software ecosystems. Memory-safe\n  languages solve this problem when they are used, but the existing code bases\n  consisting of billions of lines of C and C++ continue to grow, and we need\n  additional bug detection mechanisms.\n\n  This paper describes a family of tools that detect these two classes of\n  memory-safety bugs, while running in production, at near-zero overhead. These\n  tools combine page-granular guarded allocation and low-rate sampling. In\n  other words, we added an ``if'' statement to a 36-year-old idea and made it\n  work at scale.\n\n  We describe the basic algorithm, several of its variants and implementations,\n  and the results of multi-year deployments across mobile, desktop, and server\n  applications.\n\n\\end{abstract}\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/background.tex",
    "content": "\\section{Background}\n\\label{sec:background}\n\nBefore diving deeper, we will take a brief look at the types of bugs that\nGWP-ASan will be able to detect, and trade-offs in dynamic program analysis.\n\n\\runinsec{Heap memory-safety bugs.} Fundamentally, memory-safety is a property\nof a programming language. Different languages choose different strategies for\nmemory safety~\\cite{SzekeresPWS2013}. Unsafe languages, specifically the C and\nC++ programming languages, define some well-typed programs to have\n\\emph{undefined behavior}, the source of which are considered bugs in the\nprogram. Heap buffer overflows (viz. out-of-bounds accesses) and use-after-free\naccesses (viz. dangling-pointer accesses) are two such bugs.\n\nA \\emph{heap buffer overflow} happens when an object of a certain size is\nallocated on the heap, and then a pointer to this object is used to access\nmemory outside of the object's bounds. Typically, the object is an array of $n$\nelements, and the code accesses the $i$-th element where $i < 0$ or $i \\geq n$.\nListing~\\ref{lst:oob} shows examples of buffer overflows in C code. Modern\ncompilers can provide warnings for simple buffer overflows, including the ones\nshown in the example. Unfortunately, the non-obvious cases that also evade\nhuman review are far more common.\n\n\\vspace{-1em}\n\\begin{lstlisting}[language=C, frame=single, xleftmargin=0.5em,\n  xrightmargin=0.5em, caption=Buffer overflow examples., label=lst:oob]\n// heap allocation\nint *array = malloc(n * sizeof(int));\n// buffer overflow\narray[n] = 42;\n// buffer overflow (underflow)\narray[-1] = 42;\n// buffer overflow, assuming n <= 100500\narray[100500] = 42;\n\\end{lstlisting}\n\nA \\emph{heap use-after-free} happens when an object is allocated on the heap,\nand later deallocated, while a pointer to the object is preserved elsewhere and\nis used to access the deallocated memory after the deallocation.\nListing~\\ref{lst:uaf} shows an example of a simple use-after free. Again,\nmodern compilers will provide warnings for simple cases as shown, but the\nnon-obvious cases are much more common and difficult to find (esp. cases\ninvolving racy use-after-frees).\n\n\\begin{lstlisting}[language=C, frame=single, xleftmargin=0.5em,\nxrightmargin=0.5em, caption=Use-after-free example., label=lst:uaf]\n// heap allocation\nint *val = malloc(sizeof(int));\n// heap deallocation\nfree(val);\n// heap use-after-free\n*val = 0;\n\\end{lstlisting}\n\nIn both cases, the buggy memory access touches memory not belonging to the\nrespective objects. In the C and C++ standards, this is considered undefined\nbehavior. In practice, however, this may result in a crash, a silent data\ncorruption, or an exploitable security vulnerability~\\cite{SzekeresPWS2013}.\n\n\\runinsec{Dynamic analysis.} Dynamic analysis tools perform program analysis at\nruntime, observing state changes by instrumenting relevant instructions and\nfunctions as the program is running on real inputs. More complex dynamic\nanalyses also maintain \\emph{shadow state}, which uses additional memory or\nmetadata to maintain additional information about the program's state that is\nnot efficiently available otherwise (e.g. if memory is allocated or freed).\n\nConsequently, typical dynamic analysis can only observe the program\ntransitioning into \\emph{erroneous states}.  Consider the taxonomy defined by\nRandell~\\cite{Randell2003}, with a \\emph{fault}---or simply ``bug''---being a\nflaw in the program's logic, causing \\emph{errors} which are bad states that\ncan ultimately lead to program \\emph{failure}, i.e. the program crashes, cannot\ndeliver the requested service or worse. One of the biggest challenges in\ndynamic analysis is giving developers the information to localize faults,\ndespite only being able to detect the resulting error. Indeed, producing\nhelpful reports that allow developers to debug and fix a bug requires\nmaintaining additional information (e.g. stack traces of where memory was\nallocated or freed), which can be very costly.\n\nAnalyzing memory accesses, as required for memory-safety analysis, adds\nadditional overheads, depending on the precision of the analysis. Tools such as\nAddressSanitizer choose to analyze every memory access, along with maintaining\nevery allocation's and deallocation's metadata (valid, invalid, size, stack\ntrace).  Unsurprisingly, this results in significant runtime and memory\noverheads, which make such approaches unsuitable for production environments.\n\nHardware-based solutions make use of new CPU features, such as Arm\nMTE~\\cite{Serebryany2019}, to offload storing some or all of the additional\nmetadata and checking to dedicated hardware. Unfortunately, some of the newer\nhardware-based solutions are not yet widely available. GWP-ASan makes use of a\nhardware feature available in all modern CPUs' Memory Management Units\n(MMUs)~\\cite{CAR}: paged virtual memory and the ability to set memory pages\ninaccessible.\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/conclusion.tex",
    "content": "\\section{Conclusion}\n\nMemory safety remains a major unresolved problem. The industry must migrate\naway from memory-unsafe code, but this will take decades. In the meantime,\ntools like GWP-ASan offer a low-overhead and easy-to-deploy option for bug\ndetection in production. These tools rely on telemetry systems that send crash\nreports to developers. They must be used along with available pre-production\ndetection mechanisms and security mitigations.\n\nGWP-ASan is not a security mitigation mechanism. When used, however, it\nimproves the overall product security by allowing developers to detect and fix\nmany vulnerabilities.\n\n\\section*{Acknowledgements}\n\nWe would like to thank our colleagues and the respective open-source\ncommunities for their helpful feedback, reviews, and comments.  We would like\nto thank the anonymous reviewers for their helpful comments and advice.\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/eval.tex",
    "content": "% NOTE: LaTeX places floats usually not where we want it. Just move the use of\n% the command around until it looks right.\n\\newcommand{\\figCrashes}{%\n  \\begin{figure*}[t!]\n    \\centering\n    \\begin{tikzpicture}\n      \\node (img1)  {\\includegraphics[width=0.95\\linewidth]{fig/crashes__svg.pdf}};\n      \\node[below=of img1, node distance=0cm, yshift=1.7cm] {Number of GWP-ASan crash reports received ($2^n$)};\n      \\node[left=of img1, node distance=0cm, rotate=90,anchor=center,yshift=-1.3cm] {Number of unique bugs ($10^n$)};\n    \\end{tikzpicture}\n    \\vspace{-1.2em}\n    \\caption{Bug occurrences across Google server-side applications, Android, and\n    Chrome.}\n    \\label{fig:crashes}\n  \\end{figure*}\n}\n\n\\section{Results}\n\\label{sec:results}\n\nThis section discusses the results of real-world deployment of GWP-ASan\nvariants and our experience over the past several years.\n\n\\subsection{Google Server-Side Software}\n\nGWP-ASan for the Google server-side software was the first variant we deployed,\nwith the first production bugs observed in late 2018. In 2019, 300+ bugs were\nreported and fixed. In 2020 and 2021 we observed 450+ fixed bugs annually, and\n500+ bugs in 2022. The trend continued in 2023 with a total of 550+ bugs fixed.\n\nApproximately 80\\% of the fixed bugs were heap-use-after frees, and 20\\% were\nheap-buffer-overflows.\n\nSince 2019 100+ bugs were marked as ``can't reproduce'', which would typically\nindicate that the developers did not have sufficient information to understand\nand fix the bug. 400+ bugs were marked as ``obsolete'', which would typically\nindicate that the bug is unimportant for some reason (e.g. the code is deleted\nor represents a one-time experiment).\n\nThe GWP-ASan reports are processed by the telemetry and bug reporting systems\nin the same way as any other process crashes. The only notable difference is\nthat GWP-ASan reports have two (for buffer overflows) or three (for use after\nfree) stack traces, while the majority of other crashes (e.g. NULL\ndereferences) have only one stack trace.\n\nWe have evaluated GWP-ASan performance using performance-sensitive load tests\nand production telemetry~\\cite{RenTMSRH2010}.  With the selected sampling rate,\nthe performance impact is effectively undetectable.\n\nThere were several cases where GWP-ASan detected and reported that the root\ncause of an ongoing issue in a production service was caused by a\nuse-after-free or heap-buffer-overflow.\n\n\\subsection{Google Chrome}\n\nGWP-ASan has been enabled by default on Windows and Mac since Chrome 80 in\n2019, and has been partially enabled on Linux and ChromeOS since 2022.\n\nBug reports are prescreened by security team members before filing them in the\nbug tracker, as GWP-ASan sometimes produces inactionable reports. A faulty\naccess to GWP-ASan's guarded region may occur long after another memory-safety\nerror has occurred and the resulting bug report appears nonsensical. Some\nmethods can be used to reduce or eliminate some classes of common inactionable\nreports (e.g. those that occur when ASCII values happen to form a valid\npointer to a guarded allocation.) In the last 120 days (as of Jun 07 2023),\n71\\% of crashes are reported as bugs after the prescreening (after filtering\nfor crashes in old system-provided libraries and third-party code).\n\nThere have been 271 bugs\nfiled,\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\&can=1}}\nof which 176\n(65\\%)\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20Type\\%3DBug-Security\\&can=1}}\nhave been judged to be possibly exploitable by attackers.\n\nOf the 243 bugs that have been marked as\nresolved,\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20status\\%3AFixed\\%2CVerified\\%2CDuplicate\\%2CWontFix\\%2CArchived\\&can=1}}\n168 (69\\%) have been marked as\nfixed.\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20status\\%3AFixed\\%2CVerified\\&can=1}}\n35 (14.4\\%) have been marked as\n``WontFix'',\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20status\\%3AWontFix\\&can=1}}\nmeaning the developer has judged the bug to not be actionable in any way. Other\nresolutions include marking the bug as a duplicate, or marking it as the\nresponsibility of an external dependency, for example, bugs in macOS system\ncode, for which we receive crash reports when they occur in a Chrome process.\n\n180 of the bugs are\nheap-use-after-free,\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-use-after-free\\&can=1}}\nand 35 are\nheap-buffer-overflow.\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-buffer-overflow\\&can=1}}\n21/32 (65.6\\%) of the resolved heap-buffer overflows are marked as fixed or a\nduplicate of an existing\nissue,\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-buffer-overflow\\&can=1}}$^,$\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-buffer-overflow\\%20status\\%3AFixed\\%2CVerified\\%2CDuplicate\\&can=1}}\nand 148/167 (88.6\\%) of the resolved heap use-after-frees are marked as fixed\nor\nduplicate.\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-use-after-free\\%20status\\%3AFixed\\%2CVerified\\%2CDuplicate\\%2CWontFix\\%2CArchived\\&can=1}}$^,$\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20heap-use-after-free\\%20status\\%3AFixed\\%2CVerified\\%2CDuplicate\\&can=1}}\n\n218/271\n(80.4\\%)\\footnote{\\url{https://crbug.com?q=Hotlist\\%3DGWP-ASan\\%20\\%22reported\\%20by\\%20GWP-ASan\\%22\\&can=1}}\nof the GWP-ASan bugs filed were found and reported by GWP-ASan before any other\ncrash bug was filed for the same crash. This is likely because GWP-ASan bugs\ncan be filed when only one crash has occurred (subject to prescreening),\nwhereas regular crash bugs are typically inactionable with only a single\nreport.\n\n\\subsection{Android}\n\nGWP-ASan has been enabled by default for system processes and system apps since\nAndroid 11. Since then, we've detected and fixed a large quantity of both\npreviously undetected memory-safety bugs, and new regressions.\n\nWithin 60 days (starting in May 2023), we detected 1,972 unique stack traces in\nsystem processes across the Android ecosystem from ${\\sim}11.7M$ crash reports.\nWe consider a stack trace to be unique when the function name (where available)\nor dynamic shared object (DSO) from the most significant frame of the bad\nmemory access (excluding common frames like libc or Android Runtime), is\nunique.\n\nWe believe that a small fraction of these crashes are caused by hardware\nfailures and not by software bugs, however, reports observed more than once\nclearly indicate real memory-safety bugs: 54\\% (1,066) of unique stack traces\nwere observed 5 or more times.\n%\nOf these crashes, 57\\% were use-after-free, 27\\% were buffer-overflow, 4\\% were\nbuffer-underflow, and the remainder were double free, invalid free, or\nindeterminate bugs.\n\n\\figCrashes\n\n\\subsection{Firefox}\n\nTo understand PHC results on Firefox, there are two important aspects to\nconsider. First, PHC is currently only running on the \\emph{Nightly}\nchannel and therefore has limited user exposure. We are working on bringing PHC\nto Firefox Release by the end of 2023. Second, prior to PHC the ``ASan Nightly\nProject'' was used on Firefox. In this project, a Firefox Nightly version built\nwith AddressSanitizer was shipped to users who manually opted in to this (much\nslower) version. Although the user base was of course limited, ASan Nightly did\nnot rely on probabilistic sampling and therefore it found a significant chunk\nof existing use-after-free issues. Overall we assume that this project is\nresponsible for eliminating a lot of the long-standing bugs that we would have\nfound otherwise at the beginning of PHC deployment. It is important to note\nthat results from the ASan Nightly Project directly influenced the decision to\nimplement PHC: the project showed us that use-after-free issues can be fixed\nalmost 100\\% of the time if the developers have the ``free'' stack trace in\naddition to the usual ``use'' stack trace.\n\nTo date, PHC in Firefox has uncovered 7 use-after-free issues and 2\nbuffer-overflows, some of which were in third-party code and fixed upstream.\nFor some of these bugs, we also saw collisions with reports from other sources\n(e.g. the ASan Nightly Project). We expect that deployment to more clients\nthrough the Release channel will further increase the detection rate and allow\nus to identify regressions more quickly.\n\n\\subsection{Apple Platforms}\n\nThe Apple crash reporting pipeline groups crashes using the notion of an\n\\emph{issue signature}.  Conceptually, an issue signature consists of the stack\ntrace of the crashing thread.  For Probabilistic Guard Malloc~(PGM) crashes,\nthe system files a bug for every new pair of process and issue signature (see\n\\S\\ref{sec:occurrences_per_bug}).\n\nAs of September~2023, a total of 3,748 PGM bugs have been filed of which 1,438\nare marked fixed with an associated code change.  Of all bug reports, only 13\nwere closed without a resolution, meaning that despite the additional\ninformation in the crash report component owners were unable to diagnose the\nbug without a reproducer.  This compares very favorably with standard crash\nreports for memory errors, resulting in a 99\\% fix rate for PGM bugs.  Another\n27 bugs were found in local experiments and code that was recently removed.\nThe remaining 2270 bugs were marked as duplicates resulting from PGM finding\nalready-fixed bugs and finding the same bug in code shared by multiple\nprocesses (bugs are filed for pairs of process and issue signature).\n\nOf the found bugs, 77\\% constitute use-after-free bugs and 23\\% are\nbuffer-overflows.  For about a third of fixed bugs the diagnosed root cause was\na concurrency or thread safety issue.  Interestingly, there even was an example\nfor a locally-reproducible bug that was detected using PGM, but eluded\ndetection by AddressSanitizer. Our explanation is that PGM's lower overhead\nwas more conducive to reproducing the error condition.\n\nIn summary, PGM has been an effective tool for finding and diagnosing memory\nerrors at Apple.  On average, 2.1 new bugs have been found \\emph{every day}\nsince it was first deployed at scale in April~2021.  The additional information\nin PGM crash reports (most notably, allocation and deallocation stack traces)\nmakes them actionable even without a reproducer, resulting in a high 99\\% fix\nrate.  In a handful of cases, a single PGM crash report made the difference for\ndiagnosing a known high-impact bug.  PGM even found bugs (now fixed) in code\nthat had remained unchanged for over 20 years.\n\n\\subsection{Meta}\n\nMeta has used a variant of GWP-ASan in the Facebook and Messenger Apps on\nAndroid since 2020. GWP-ASan is bundled with the applications in a way that\nallows for it to be dynamically configured and tuned for a device population.\nThis has allowed Meta to ship and enable GWP-ASan on a wide range of Android\ndevices and versions, control key allocator properties such as the sampling\nrate, and an allow-list of modules subject to allocation sampling. The default\nsampling rate for a process is 1/1000 with a memory budget of 1024 object\npages (8 MiB). Meta can additionally opt devices in or out of sampling at\napplication launch time based on eligibility criteria such as available system\nmemory.\n\nWhen a sampled allocation is determined to have resulted in a memory-safety\nissue, a crash report is generated containing custom streams with relevant\ninformation from the sampling such as allocation and deallocation stack traces.\nReports are ingested by Meta infrastructure as part of the regular crash\nreporting pipeline and integrated directly with crash analysis tools that\nengineers already frequently use. Integration of GWP-ASan in their stack has\nover time helped Meta fix multiple difficult-to-debug reliability issues caused\nby use-after-frees and buffer overflows.\n\n\\subsection{Linux Kernel}\n\nKFENCE has been deployed in Google's server kernels, Android, and ChromeOS\nkernels. We're also aware of numerous third parties using KFENCE, given it\nworks out of the box by simply changing a kernel build-time configuration\nparameter. More effort is required to collect and analyze KFENCE reports from a\nfleet of machines, which needs additional tooling. To date, KFENCE has reported\n60+ bugs in Google's downstream Linux kernels. The upstream Linux kernel up to\nversion 6.3 has 12 fix commits mentioning KFENCE-reported bugs since the\nintroduction of KFENCE in 2021 with Linux 5.12.\n\n\\subsection{Analysis of Occurrences Per Bug}\n\\label{sec:occurrences_per_bug}\n\nThe number of occurrences of every bug detected by GWP-ASan in production\ndeserves a separate discussion. Intuitively, bugs that occur in production\nfrequently will also be frequently reported with a sampling-based bug detector.\nBut we don't know the frequency of the bug occurrences, only their detection\nfrequency.\n\nWe analyzed the detection frequency in the Google server-side applications, the\nAndroid platform (both the user space and the kernel), and Chrome, shown in\nFigure~\\ref{fig:crashes}. In all cases, we observed a very similar picture.\nRoughly half of the bugs are only ever seen once, a quarter of the bugs are\nseen 2-10 times, and very few bugs are detected hundreds of times. The log-log\nplot looks like a straight line, which is frequent for such phenomena.\n\nBecause of the low sampling rate GWP-ASan uses, most bugs are only detected\nonce. We suspect that many more bugs occur in production infrequently enough to\nhave never been detected by GWP-ASan.\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/future.tex",
    "content": "\\section{Future Work}\n\\label{sec:future}\n\nAssuming memory unsafe code will remain in wide use and pre-production testing\nwill remain imperfect, we need to keep improving tools like GWP-ASan. Some\nnotable directions are:\n\n\\begin{enumerate}\n\n  \\item Extend GWP-ASan or explore new low-overhead sampling-based bug\n    detection algorithms for bug classes currently not found by GWP-ASan. Of\n    particular interest are stack-use-after-return bugs: our estimate based on\n    pre-production testing is that these bugs are roughly 40\\% as frequent as\n    heap-use-after-free bugs; their frequency in production is unknown to us.\n    Furthermore, too many concurrency issues escape to production, and we\n    expect solutions for low-overhead sampling-based data-race detection to be\n    profitable~\\cite{GWPTsan}.\n\n  \\item Tune the existing implementations to skew towards less frequent heap\n    allocation sites, similar to what KFENCE does (\\S\\ref{sec:kfence_bloom}).\n    This assumes that frequent allocations are better tested anyway.\n\n  \\item Find mechanisms that allow higher sampling rates. This may include\n    improving the scalability of the mmap system call in operating system\n    kernels, or using hardware features such as Intel Memory Protection Keys\n    (MPK)~\\cite{PKU} or Arm Memory Tagging (MTE)~\\cite{Serebryany2019}.\n\n  \\item Combine with other related detection mechanisms, e.g. Chrome's\n    lightweight use-after-free detector which has a higher sampling rate but\n    does not detect all types of use-after-frees~\\cite{LightweightUafDetector}.\n\n  \\item Ensure that major implementations can handle allocations of any size.\n\n  \\item Create a feedback loop from earlier executions to newer ones. For\n    example, by increasing sampling rates for allocations previously involved\n    in a bug report, and decreasing sampling rates for long-lived allocations\n    that are less likely to cause bugs.\n\n  \\item Create mechanisms to dynamically direct the sampling budget towards a\n    specific process to help project teams track down hard-to-diagnose bugs\n    that evaded all other forms of testing.\n\n\\end{enumerate}\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/gwpasan.tex",
    "content": "\\section{GWP-ASan Algorithm}\n\\label{sec:algo}\n\nThis section describes the basic GWP-ASan algorithm design. Given all\nimplementations discussed in \\S\\ref{sec:impls} are either implemented in the C\nor C++ languages, the code snippets in this section show simplified C language\nsnippets. For the description of our implementation, we assume a\nPOSIX-compatible operating system.\n\nWe define the original pseudo-implementation of the heap allocator in\nListing~\\ref{lst:original}; the details of the original algorithms for heap\nallocation, in \\inlcode{Allocate()}, and deallocation, in\n\\inlcode{Deallocate()}, can be treated as a black box for the simple algorithm\ndescribed here.\n\n%\\vspace{-1em}\n\\begin{lstlisting}[language=C, frame=single, xleftmargin=3em,\n  xrightmargin=3em, caption=Unmodified heap allocation., label=lst:original]\n  void *malloc(size_t size) {\n    return Allocate(size);\n  }\n\n  void free(void *ptr) {\n    Deallocate(ptr);\n  }\n\\end{lstlisting}\n\nIn order to implement sampling heap error detection, the change as shown in\nListing~\\ref{lst:sampling} should be made.\n\n\\begin{lstlisting}[language=C, frame=single, xleftmargin=3em,\n  xrightmargin=3em, caption=Heap allocation with sampling error detection.,\n  label=lst:sampling, escapechar=@]\n  void *malloc(size_t size) {\n@$\\oplus$@   if (WantToSample(size))\n@$\\oplus$@     return GuardAlloc(size);\n    return Allocate(size);\n  }\n\n  void free(void *ptr) {\n@$\\oplus$@   if (IsGuarded(ptr)) {\n@$\\oplus$@     GuardDealloc(ptr);\n@$\\oplus$@     return;\n@$\\oplus$@   }\n    Deallocate(ptr);\n  }\n\\end{lstlisting}\n\n\\inlcode{WantToSample()} returns true infrequently. \\inlcode{GuardAlloc()}\nallocates, and \\inlcode{GuardDealloc()} deallocates memory similar to Electric\nFence.  \\inlcode{IsGuarded()} returns true if its argument is a pointer\npreviously returned by \\inlcode{GuardAlloc()}.  Details vary between\nimplementations and some of them are described below.\n\n\\subsection{Simple Version}\n\nIn this section we describe a very simple, yet fully capable, implementation of\nGWP-ASan.\n\n\\runinsec{Initialization.} At process start-up the GWP-ASan pool is allocated\nusing \\inlcode{mmap()} as a fixed-size region of virtual memory consisting of\n\\(N\\) page-sized allocation slots and \\(N+1\\) page-sized guards, such that\nguards on both ends surround every slot. Figure~\\ref{fig:initial} illustrates\nthe initial memory state of the GWP-ASan pool. Initially all of this memory is\nmarked as inaccessible (with \\inlcode{PROT\\_NONE}). The red zones remain\ninaccessible throughout the program execution.\n\n\\begin{lstlisting}[language=C++, frame=single, xleftmargin=0.5em,\n  xrightmargin=0.5em, caption=Basic implementation of \\inlcode{WantToSample()}., label=lst:want_to_sample]\n// Returns a random number in the range\n// [1 ... sample_rate * 2].\nint RandSkip();\n\n// Initialized to a non-zero random number\n// at thread start up.\nstatic thread_local int skip = RandSkip();\n\nbool WantToSample() {\n  if (--skip> 0) return false;\n  skip = RandSkip();\n  return true;\n}\n\\end{lstlisting}\n\n\\runinsec{Sampling allocations.} A possible implementation of\n\\inlcode{WantToSample()} is shown in Listing~\\ref{lst:want_to_sample}. A\nthread-local allocation \\emph{skip} counter is used to decide which allocations\nto skip sampling (the common case), and which to sample. The counter is\ninitialized to a random number in the range \\([1 \\ldots \\inlcode{sample\\_rate}\n* 2]\\), so that the median value is \\inlcode{sample\\_rate}. The skip counter is\nthen decremented by one per unsampled allocation. When the number reaches zero,\nwe try to service the \\inlcode{malloc()} through GWP-ASan, and regenerate a new\nrandom number.  Therefore, \\inlcode{WantToSample()} in the common case is just\na single thread-local decrement and conditional branch.\n\n\\runinsec{Guarded allocation.} \\inlcode{GuardAlloc()} checks if there are any\nallocation slots available, chooses one, makes it accessible (with\n\\inlcode{PROT\\_READ|PROT\\_WRITE}), and returns to the caller.\nFigure~\\ref{fig:alloc} illustrates the pool's memory state after an allocation.\n\nThis way, buffer underflows (accesses below the allocation address by up to a\npage) will always be detected, but overflows (accesses above the end of the\nallocated region) will be detected only if the access crosses the page\nboundary. To find overflows, the allocated region needs to be aligned right by\nthe page boundary. The implementation may randomly choose to align left or\nright.\n\n\\runinsec{Deallocation of sampled allocations.} \\inlcode{GuardDealloc()} marks\nthe allocation slot as inaccessible (with \\inlcode{PROT\\_NONE}). For\nheap-use-after-free bugs to be detected with high probability, this\nallocation slot needs to remain unallocated for some amount of time.\n\\inlcode{IsGuarded()} can be implemented as a range check.\n\n\\runinsec{Limitations.} The obvious limitations of this simple implementation\nare:\n\\begin{enumerate}\n\n  \\item Only allocations of up to 1 page can be guarded.\n\n  \\item Only up to $N$ allocations can be guarded at the same time. For large\n    enough $N$ this stops being a significant limitation because we want to\n    avoid more than a certain number of guarded allocations anyway, to avoid\n    high overheads.\n\n\\end{enumerate}\n\n\\DeclareRobustCommand{\\redzone}{%\n  \\raisebox{-1pt}{\\tikz \\path [draw=gray,pattern={crosshatch}, pattern color=red] (0,0) rectangle (0.4,0.2);}\n}\n\\DeclareRobustCommand{\\unalloc}{%\n  \\raisebox{-1pt}{\\tikz \\path [draw=gray,fill=black] (0,0) rectangle (0.4,0.2);}\n}\n\\DeclareRobustCommand{\\alloc}{%\n  \\raisebox{-1pt}{\\tikz \\path [draw=gray,pattern={dots}, pattern color=green] (0,0) rectangle (0.4,0.2);}\n}\n\\begin{figure}\n  \\begin{tikzpicture}\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (0,0) rectangle (1,0.6);\n    \\path [draw=gray,fill=black] (1,0) rectangle (2,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (2,0) rectangle (3,0.6);\n    \\path [draw=gray,fill=black] (3,0) rectangle (4,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (4,0) rectangle (5,0.6);\n    \\path [draw=gray,fill=black] (5,0) rectangle (6,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (6,0) rectangle (7,0.6);\n  \\end{tikzpicture}\n  \\caption{GWP-ASan pool initial memory state. Guard pages, viz. ``red zones'',\n  are shown as \\redzone (red hatch pattern), and remain always inaccessible.\n  Allocation slots are shown as \\unalloc (black filled) when inaccessible.}\n  \\label{fig:initial}\n\\end{figure}\n\\begin{figure}\n  \\begin{tikzpicture}\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (0,0) rectangle (1,0.6);\n    \\path [draw=gray,pattern={dots}, pattern color=green] (1,0) rectangle (2,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (2,0) rectangle (3,0.6);\n    \\path [draw=gray,fill=black] (3,0) rectangle (4,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (4,0) rectangle (5,0.6);\n    \\path [draw=gray,fill=black] (5,0) rectangle (6,0.6);\n    \\path [draw=gray,pattern={crosshatch}, pattern color=red] (6,0) rectangle (7,0.6);\n  \\end{tikzpicture}\n  \\caption{GWP-ASan pool memory state after an allocation. The allocation slot\n  shown as \\alloc (green dots) is allocated and accessible.}\n  \\label{fig:alloc}\n\\end{figure}\n\n\\subsection{Generating Descriptive Error Messages}\n\nGenerating descriptive error messages is crucial for GWP-ASan to be maximally\nuseful, given it is designed to run in production, where reproduction of any\ngiven error is rather challenging. Without an easy way to reproduce an error,\ndevelopers require detailed information about detected errors to debug.\n\nWhen a memory access hits a protected page, the operating-system kernel raises\na signal (\\inlcode{SIGSEGV} on POSIX systems). If this page is a GWP-ASan guard\nor a deallocated allocation slot, the signal handler producing the report can\nprovide additional information, such as the offset from the allocation start,\nthe stack trace of deallocation (for heap-use-after-free), and the stack trace\nof allocation (for both classes of bugs). Where possible, the report should\nindicate if the erroneous access is a read or write.\n\nThis makes GWP-ASan error messages more informative than other typical crash\nreports. In other words, GWP-ASan is capable of producing the same quality of\nreports as ASan or HWASan. Listings~\\ref{lst:uafreport} and \\ref{lst:oobreport}\nshow examples of GWP-ASan reports.\\footnote{The examples are modified to fit\nthis document's layout. All implementations in \\S\\ref{sec:impls} display\nvariations of these example reports.}\n\n\\begin{lstlisting}[frame=single, caption=Example GWP-ASan use-after-free report.,\n  label=lst:uafreport, basicstyle=\\footnotesize]\n*** GWP-ASan detected a memory error ***\nUse-after-free write at 0x7feccab26008 by thread 31027:\n  #1 ./test(foo+0x45) [0x55585c0afa55]\n  #2 ./test(main+0x9f) [0x55585c0af7cf]\n\nThe access is within 41B allocation at 0x7feccab26000\n\n0x7feccab26000 was deallocated by thread 31027:\n  #1 ./test(main+0x83) [0x55585c0af7b3]\n\n0x7feccab26000 was allocated by thread 31027:\n  #1 ./test(main+0x57) [0x55585c0af787]\n*** End GWP-ASan report ***\n\\end{lstlisting}\n\n\\begin{lstlisting}[frame=single, caption=Example GWP-ASan out-of-bounds report.,\n  label=lst:oobreport, basicstyle=\\footnotesize]\n*** GWP-ASan detected a memory error ***\nOut-of-bounds read at 0x7feccab25ffe by thread 31027:\n  #1 ./test(foo+0x45) [0x55585c0afa55]\n  #2 ./test(main+0x9f) [0x55585c0af7cf]\n\nThe access is 2B left of 41B allocation at 0x7feccab26000\n\n0x7feccab26000 was allocated by thread 31027:\n  #1 ./test(main+0x57) [0x55585c0af787]\n*** End GWP-ASan report ***\n\\end{lstlisting}\n\n\\section{Implementations}\n\\label{sec:impls}\n\nThis section lists various existing variants of GWP-ASan and some of their most\nnotable features.\n\n\\subsection{TCMalloc}\n\nTCMalloc~\\cite{TCMalloc} is the open-source \\inlcode{malloc()} implementation\nused in Google server-side code. It is highly optimized for CPU and RAM\nefficiency on large multi-threaded applications.  It contains the first\n(historically) implementation of GWP-ASan.\n\nTCMalloc's implementation of \\inlcode{WantToSample()} did not introduce a single new\ninstruction on the hot path of the allocator. This was made possible by\npiggybacking on the existing sampling mechanism in TCMalloc used for heap\nprofiling. Effectively, the GWP-ASan sampling logic hides behind\npre-existing sampling logic.\n\n\\inlcode{IsGuarded()} is implemented as a bit test on the pointer value, thus\nrequiring zero memory loads.\n\n\\subsection{Google Chrome}\n\\label{sec:chrome}\n\nChrome implements a custom version of GWP-ASan, which hooks \\inlcode{malloc()}\nusing Chrome's unified \\inlcode{malloc()} shim that works on all of Chrome's\nsupported platforms.\\footnote{Open source as part of the Chromium project:\n\\url{https://chromium.googlesource.com/chromium/src/+/lkgr/docs/gwp\\_asan.md}}\nThe \\inlcode{malloc()} shim requires an indirect call in every process using\nGWP-ASan's hook.  This hook uses the simple \\inlcode{WantToSample()}\nimplementation above.\n\nFor stability and security reasons, Chrome has a multiprocess architecture,\nincluding a main browser process, a GPU process that renders to the screen, and\na group of many ``renderers'' that run websites or tabs. GWP-ASan is randomly\nenabled in each process at process startup time, with a small probability in\nfrequently-launched renderer processes, and a larger probability in the\nunsandboxed security-sensitive browser process, of which only a single instance\nexists. If not enabled this avoids the runtime overhead of the indirect call\nand allows GWP-ASan to use more memory per enabled process. It also prevents\nsome user frustration if a frequently occurring bug is causing many GWP-ASan\ncrashes.\n\nChrome's GWP-ASan uses the simple implementation described above, with the\nexception that the maximum number of simultaneously allocated slots is set to\nbe significantly smaller than the total number of reserved allocation slots\n(constant \\inlcode{kReservedSlots}). This setup delays the reallocation of each slot,\nforming a quarantine, while limiting the amount of physical memory overhead.\nFinally, because each slot is associated with out-of-line memory-hogging\nmetadata such as compressed stack traces, the total number of slots associated\nwith metadata is selected to be much smaller than \\inlcode{kReservedSlots}. If\n\\inlcode{kReservedSlots} were lower the quarantine would be much less effective.\nThe downside is that if a UAF occurs on a slot that has lost its metadata, the\nresulting bug report is far less detailed and actionable.\n\nBecause GWP-ASan is an alternative allocator, it must provide at least the same\nsecurity guarantees as Chrome's hardened allocator, PartitionAlloc. This\nincludes never allocating object types from separate ``partitions'' in the same\nslot for the lifetime of the process (to avoid simple type confusion exploits)\nand never reusing a memory address as long as there are known references to the\nobject that once resided at that address~\\cite{MiraclePtr}.\n\n\\subsection{Android/LLVM}\n\nThe \\emph{compiler-rt} project~\\cite{compiler-rt}, which exists within\nLLVM~\\cite{LattnerA2004}, contains an implementation of GWP-ASan that's used\nfor both Android and the Scudo hardened allocator.\\footnote{Open source\ndocumentation available at: \\url{https://llvm.org/docs/GwpAsan.html}} This\nimplementation of GWP-ASan is designed to be used as a library, and can be\nintegrated with any allocator through a simple hook in \\inlcode{malloc()} and\n\\inlcode{free()}.\n\nAndroid, by default, has been using GWP-ASan for its system processes since\nAndroid 11 (September 2020), and apps have historically been opt-in. As of\nAndroid 14 though, apps will have GWP-ASan enabled by default (with an\nopt-out), but in what we call a ``recoverable'' mode. In this mode, apps will get\na full GWP-ASan crash report, with stack traces and an error description, but\nthe app won't be forced to crash with a segmentation fault. Instead, the\nsystem's signal handler (libsigchain, which runs before any signal handler\ninstalled by the app) will also disable GWP-ASan, make the faulting page\nread/write-able, and retry the faulting instruction. Use-after-free and\nbuffer-overflow will thus succeed in writing to a wrong memory location on the\nrestart, and reads will return zero. The primary benefit here is app\ncompatibility---the Android app ecosystem contains large quantities of apps\nwith memory-unsafe native code, and in the interest of user experience, such\napps should not be forced to crash when an Android user updates their device to\nAndroid 14.\n\nAn additional Android-specific challenge is memory consumption. Unlike server\nbinaries, where hundreds of kilobytes is unnoticeable, Android has many\nprocesses (\\({\\sim}200\\)) running simultaneously, and runs on\nmemory-constrained devices. To reduce memory pressure, we apply two techniques:\n\n\\begin{enumerate}\n\n  \\item \\runinsec{Metadata compression.} The largest part of GWP-ASan's\n  metadata are the stack traces, the LLVM implementation of GWP-ASan encodes\n  each stack frame as the ULEB-encoded difference between the return address of\n  the current frame, and the frame before it. This provides a 50-75\\% decrease\n  in memory usage of storing stack traces.\n\n  \\item \\runinsec{Process sampling.} We introduce another layer of sampling,\n  and only turn on GWP-ASan for \\(1/128\\) process launches.\n\n\\end{enumerate}\n\nThese two techniques, combined with a carefully tuned small pool of allocations\n(only 16 at any one time), means that an average device is only using\n\\({\\sim}140\\) KiB of extra memory for GWP-ASan (\\({\\sim}70\\) KiB per sampled\nprocess).  In addition, like in Chrome, the process sampling prevents frequent\ncrashes on the same process, which can lead to user frustration.\n\n\\subsection{Firefox}\n\nFirefox implements its own custom version of GWP-ASan, named Probabilistic Heap\nChecker (PHC).\\footnote{PHC is open source, available at:\n\\url{https://searchfox.org/mozilla-central/source/memory/replace/phc/PHC.cpp}}\nPHC is closely related to Chrome's GWP-ASan (\\S\\ref{sec:chrome}). The internal\nFirefox allocator \\emph{mozjemalloc} offers \\inlcode{malloc()}-replace support,\nallowing the PHC implementation to intercept the respective allocator\nfunctionality and handle PHC-controlled allocations separately.\n\nSince Firefox has a different allocation profile compared to Chrome (both in\nfrequency and allocation size), PHC uses slightly different parameters to\ndecide when and how to sample allocations. This is particularly relevant to\ndecide when to start sampling at process startup.\n\n\\subsection{Apple Platforms}\n\nApple's variant of GWP-ASan, named Probabilistic Guard Malloc~(PGM), is\nimplemented in the standard user space allocator.\\footnote{PGM is part of Apple\nlibmalloc:\n\\url{https://github.com/apple-oss-distributions/libmalloc/blob/main/src/pgm\\_malloc.c}}\nIt was first deployed to customer populations with iOS~14.5 and macOS~11.3\n(April~2021) and deployment gradually expanded to additional platforms,\nincluding watchOS and tvOS.  PGM is enabled for all Apple-owned user space\nprocesses (including apps) and integrates with the existing crash reporting\npipeline.  Crash reports are augmented with additional information about the\nguarded allocation, most notably the allocation and deallocation stack traces.\nPGM does not apply to third-party apps and there are a small number of\nprocesses that use a custom memory allocator for some or all of their\nallocations.  Since these allocations are served by a different allocator\nimplementation, they do not benefit from PGM.\n\nPGM uses conservative sampling rates and a fixed per-process memory budget to\nensure performance remains unaffected.  The per-process memory budget is 2~MiB\n(except for macOS, where it is 8~MiB) and bounds PGM's total memory footprint.\nIt accounts for all reserved VM pages (guard, allocation, and quarantine pages)\nand allocation metadata.  Stack traces are stored in compressed form.\n\\emph{Process sampling} is used to ensure the number of simultaneously\nprotected processes on a device is very small.  The average number of protected\nprocesses per device is tuned to be~0.5.  In addition to tuning system-wide\noverhead, process sampling also limits user impact by avoiding crash loops.\n\n\\subsection{Linux Kernel}\n\nThe Linux kernel (since version 5.12) has its own implementation, named Kernel\nElectric-Fence (KFENCE).\\footnote{KFENCE is part of the mainline Linux kernel:\n\\url{https://docs.kernel.org/dev-tools/kfence.html}} KFENCE's implementation\nhas to integrate with the Linux kernel SLAB and SLUB heap\nallocators~\\cite{SLUB}, with the latter having become the recommended default\nallocator of the Linux kernel.\n\nBy virtue of being implemented in an OS kernel, KFENCE's implementation is more\ncomplex. Several abstractions that user space can rely on are unavailable in an\nOS kernel environment (signals, page-protection). Instead, per-target\narchitecture support is required to deal with both page-fault handling and page\nprotection. Indeed, page-protection from user space (using a default\n\\inlcode{mprotect()}) is rather costly, especially due to TLB shootdowns.\nInstead, on some architectures (such as X86), KFENCE implements lazy\npage-protection, where only the local TLB is invalidated, with the only\ndownside being few missed bugs (viz. false negatives).\n\nAnother significant difference in KFENCE's implementation is that its decision\nto sample allocations is time-based: the implementation uses a fixed sample\ninterval (with a default of 100 milliseconds) and a timer to toggle a bit\nchecked by the SLAB or SLUB allocators. The kernel's allocator pressure is\nentirely workload dependent and hard to predict. Since the kernel has to serve\nany number of different workloads at different points in time or even\nconcurrently for the entire uptime of the system, KFENCE's decision to sample\nshould be independent of potentially pathological or even malicious workloads,\nyet remain predictable to derive reliable performance characteristics of the\nsystem with KFENCE enabled. A time-based sampling policy is independent of\nallocator pressure, relatively uniform, and therefore provides for a\npredictable upper bound on kernel-wide sample rate.\n\nThe current default implementation checks a simple boolean ``gate'' in the\nallocator fast path, which results in a load, compare, and conditional jump:\nthis implementation has been measured to have negligible impact across a\nvariety of real-world production workloads. We note that an initial version of\nKFENCE used a dynamically patched branch (self-modifying code) to avoid\nchecking a boolean in the fast path at all. In certain configurations with\nrelatively large sample intervals of more than 500 milliseconds, this can\nminimally perform better, especially on systems with few CPUs (dual or quad\ncore systems). On larger systems with large CPU counts, however, patching the\nbranch using the kernel's existing code-patching machinery (called \"Static\nKeys\"~\\cite{LinuxStaticKeys}) is equivalent to taking a global system lock\nwhich turned out to be unacceptable.\n\n\\subsubsection{\\textbf{Optimizing KFENCE Pool Utilization}}\n\\label{sec:kfence_bloom}\n\nKFENCE uses a fixed pool of object pages and adjacent guard pages that are set\nup once on boot. This pool must be able to service KFENCE allocation requests\nuntil the next reboot of a system. One problem with that is dealing with\nlong-lived allocations eventually consuming the entire pool: we implement a\npolicy that rejects new allocations if they are unlikely to contribute to new\n\\emph{coverage}. We define the \\emph{coverage source} of an allocation to be\nbased on its allocation stack trace. More specifically, if pool utilization\nreaches 75\\% or above, KFENCE skips new allocations if an existing valid\nallocation of the same coverage source exists. The implementation hashes the\nstack trace and a Counting Bloom filter is used to efficiently query if one or\nmore allocations of the same coverage source exist. The policy ensures diverse\ncoverage of allocations, and as a side-effect limits frequent long-lived\nallocations (e.g.  filesystem caches).\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/intro.tex",
    "content": "\\section{Introduction}\n\nMemory-safety bugs have been well-known since at least\n1972~\\cite{Anderson1972}.  Exploitation of memory unsafety made news in\n1988~\\cite{Orman2003} and ever since.  Numerous dynamic-analysis-based\ndetection mechanisms for pre-production use have been implemented: Valgrind\nMemcheck~\\cite{NethercoteS2007}, AddressSanitizer\n(ASan)~\\cite{SerebryanyBPV2012}, and HardwareAddressSanitizer\n(HWASan)~\\cite{SerebryanySSTV2018} being the most popular. At least two\nhardware detection mechanisms have been introduced; namely SPARC\nADI~\\cite{AingaranJKLLMPR2015}, which has disappeared alongside its hardware\nplatform, and Arm MTE~\\cite{Serebryany2019}, which is not yet widely available.\nThe devastating impact of memory unsafety was one of the reasons for the\ncreation of newer and safe(r) languages: Java, C\\#, Go, Swift, and Rust.\nAdvancements in automated pre-production testing and fuzzing (``shift left''\ntesting~\\cite{Smith2001}) lead to detection and elimination of millions of\nmemory-safety bugs.  Yet they remain the single major source of security\nvulnerabilities, and continue to negatively impact reliability and developer\nproductivity~\\cite{SzekeresPWS2013, Gaynor2020}.\n\nIn the meantime, perhaps the oldest known detection mechanism remained\nunderutilized. The Electric Fence Malloc Debugger~\\cite{EFence}, introduced in\n1987, detects heap-use-after-free and heap-buffer-overflow bugs. It replaces\nthe standard \\inlcode{malloc()} and \\inlcode{free()} functions. The\n\\inlcode{malloc()} function rounds up the allocation size to the virtual memory\nsystem's page size, allocates the required size plus two extra pages directly\nvia the \\inlcode{mmap()} system call, and uses the \\inlcode{mprotect()} system\ncall to make the first and the last page inaccessible. These pages are called\nthe ``redzone'' or ``guard pages''. The address of the first unprotected page\nis returned to the user. The original implementation uses only one guard page\nat a time, but other variants use two.  The \\inlcode{free()} function calls\n\\inlcode{mprotect()} on the entire memory region and prevents this virtual\naddress range from being reused soon. Any memory access to the guard page or\nthe deallocated address range causes a segmentation fault, at no additional\neffort.\n\nElegant and easy to use, this mechanism suffers from high execution costs.\nRounding up the allocation size to the page granularity may cause \\(100\\times\\)\nRAM overhead, while one system call per allocation and deallocation causes\nslowdowns of comparable magnitude. Electric Fence~\\cite{EFence} and its many\nclones~\\cite{PageHeap} remain unusable outside of small tests.\n\nThe tool named \\emph{GWP-ASan} and its variants, first introduced in 2018, adds\nan ``if'' statement to the Electric Fence algorithm and makes it a successful\nsampling-based bug detector for production use, with amortized near-zero\noverhead. Today several implementations of GWP-ASan run in production in\nmobile, desktop, and server ecosystems. They have detected thousands of\nmemory-safety bugs in production that evaded all other kinds of detection.\nGWP-ASan is a feature inside of \\inlcode{malloc()} implementations and does\nnot require any modifications to program binaries.\n\nGWP-ASan does not replace tools like ASan or HWASan for regular pre-production\ntesting due to its extremely low probability of detecting a bug, per instance.\nHowever, the low probability of per-instance detection is offset by large-scale\nproduction deployment, with the aggregate detection probability resulting in a\nlarge number of detections. The detailed error messages usually enable\ndevelopers to fix the bugs without the reproducers being available.\n\nWe do not know how many memory-safety bugs remain undetected. GWP-ASan finds\nthe bugs that occur in production \\emph{frequently} and misses most others.\nGWP-ASan is \\emph{not a security mitigation} tool due to its low detection\nprobability.\n\nThe name ``GWP-ASan'' is derived from Google-Wide Profiling\n(GWP)~\\cite{RenTMSRH2010}---a tool that collects profiling data by, amongst\nother things, sampling \\inlcode{malloc()}---and AddressSanitizer\n(ASan)~\\cite{SerebryanyBPV2012}---a tool that detects use-after-frees and\nheap-buffer-overflows---even though GWP-ASan is neither GWP nor ASan. Three\nindependent implementations of this tool use this name, and other\nimplementations are named differently.\n\n\\runinsec{Paper organization.} The following section, \\S\\ref{sec:background},\nwill introduce background on the types of bugs that GWP-ASan can detect;\n\\S\\ref{sec:algo} describes the high-level GWP-ASan algorithm design;\n\\S\\ref{sec:impls} describes several implementations of that algorithm for a\nvariety of platforms; \\S\\ref{sec:results} discusses real-world results from\ndeployment of the implementations; \\S\\ref{sec:related} and \\S\\ref{sec:future}\ndiscuss related work and opportunities for future work.\n"
  },
  {
    "path": "gwp-asan/icse2024/paper/tex/related.tex",
    "content": "\\section{Related Work}\n\\label{sec:related}\n\nAs discussed in the introduction, the idea to rely on page protection and\ndedicated guard pages around the object page for memory-safety error detection\nwas first found in the Electric Fence Malloc Debugger~\\cite{EFence} for various\nPOSIX-compatible operating systems. For Microsoft Windows,\nPageHeap~\\cite{PageHeap} serves a similar purpose and can find memory-safety\nerrors. To the best of our knowledge, PageHeap has a sampled mode but was never\nintended for production use due to large overheads. The Debug Malloc\nLibrary~\\cite{DMalloc} is another allocator replacement, giving developers a\nlibrary to track object state to help debug errors; however, its overheads also\nmake it unsuitable for production.\n\nWhile sampling program executions to analyze system performance at scale has\nbecome ubiquitous~\\cite{RenTMSRH2010}, sampling to detect errors is less\ncommon. Liblit et al.~\\cite{LiblitAZJ2003} first proposed compile-time\nassertion sampling to detect bugs, including memory safety bugs. A large number\nof builds for a single application are made, where different builds have a\nsmall subset of assertions enabled; instrumentation with\nCCured~\\cite{NeculaMW2002} is used as an ``assertion source'' to find memory\nsafety bugs. A benefit of this approach is that it is not tied to any\nparticular compile-time instrumentation, and could be combined with newer\nstate-of-the art compiler-instrumentation based dynamic analysis, such as\nHWASan~\\cite{SerebryanySSTV2018}. Cooperative Bug Isolation\n(CBI)~\\cite{NainarCRL2007} applies compiler instrumentation to collect values\nof simple predicates observed at run-time; a post-execution statistical\nanalysis is performed to find anomalies and predict bugs. Here as well,\ncompile-time sampling is used to reduce the instrumentation overhead.  These\napproaches have at least two challenges: (a) maintaining multiple builds for a\nsingle application may be expensive at scale and (b) the overhead of\ncompiler-instrumented code is still non-zero and if a hot function happens to\nbe instrumented in a given build, the slowdown may be significant.\n\nHauswirth et al.~\\cite{HauswirthC2004} propose using a binary rewriting system\nto instrument the code for bug detection and a dynamic dispatch to choose\nbetween instrumented and non-instrumented code in order to sample the checks at\nrun-time. The drawback is that the dynamic dispatch code is not free. The paper\ndescribes the idea of ``sampling executions of code segments at a rate\ninversely proportional to their execution frequency,'' which remains promising.\n"
  },
  {
    "path": "hwaddress-sanitizer/MarkUs-GC.md",
    "content": "# MarkUs-GC and HWASAN / MTE\nThoughts on the paper [MarkUs: Drop-in use-after-free prevention for\nlow-level languages](https://www.cl.cam.ac.uk/~tmj32/papers/docs/ainsworth20-sp.pdf).\n\nTL;DR: MarkUs sounds interesting, although often costly. \nCombined with [Memory Tagging](hwaddress-sanitizer/MTE-iSecCon-2018.pdf) it becomes super interesting and *much less costly*. \n\n## MarkUs GC\nThe MarkUs paper suggests to use a GC-like mechanism to make heap-use-after-free (UAF) bugs unexploitable. \nThe main advantage of MarkUs is that it doesn't change the semantics of C or C++ and thus can be deployed for existing code bases with relative ease. \nMarkUs does not detect UAFs.\n\nOutline of MarkUs: \n* On free(), the memory region is placed into a quarantine. \n* From the user perspective, malloc/free work as usual, the language semantics don’t change. \nA program w/o UAFs will work the same way with and w/o MarkUs. \nIf UAF actually happens, it is guaranteed to access quarantined memory.  \n* When the quarantine size reaches a certain threshold, a GC-like scan \nmarks all pointers accessible from live memory; then evicts all non-marked pointers \nfrom quarantine and thus allows them to be re-allocated. Marked pointers remain in quarantine.\n\n## Weaknesses of MarkUs \n\n(this section is far from complete, suggestions are welcome)\nIn the context of C or C++, MarkUs may have certain weaknesses that may need to be addresses separately.\nDespite these weaknesses, MarkUs sounds like an interesting approach to defeating UAF exploitabulity. \n\n### Spatial bugs\n\nMarkUs ignores the existence of spatial bugs in C/C++, which weakens this scheme (a buffer overflow may still access free-d memory)\n\n### Pointers to end\n\nPointers pointing past the end of allocations, like permitted by C++, makes MarkUs less efficient or less effective.\n```\nint *p = new int [8];\nint *end = p + 8;  // valid C++, points past the end.\nsomewhere = end;\ndelete p;\n<GC scan kicks in>\nlast = *(somewhere - 1); // UAF\n```\nIf the heap allocator is header-less, “end” will point to the beginning of another heap chunk and thus the GC scan will not notice that ‘p’ is still accessible and will evict it from quarantine.\n\nSo, either the allocator needs to have headers / redzones between  the heap chunks (expensive, but tunable) or such UAFs will allow a bypass. \n\n### Pointer hiding\n... is well explained in the paper \n\n## Overhead \nThe not-so-good news is that MarkUs may have considerable overhead in CPU and/or RAM, as well as noticeable GC pauses. \nThe paper gives a detailed description of the overheads.\nHere is some \"hand waving\" based on my experiments. \n\n* The time required for a single GC scan is proportional to the memory that needs to be scanned.\nThe scan can be done *roughly* at the speed of access to RAM.\nSo, a single-threaded application with a memory footprint of 1Gb may cause GC pauses of up to ~ `0.1s`\n* The frequency of the GC scan is proportional to the speed of heap allocation (how many bytes are `malloc`-ed in second). \nSo, a program that heap-allocates 100Mb per second, and can tolerate a 100Mb quarantine, will need to have a GC scan every second.  \n* GC tends to parallelise well, but usually not linearly. \n\nSo, roughly, the MarkUs CPU overhead is `O(MemoryFootprint * HeapAllocationSpeed / NumberOfThreads)`.\nThe RAM overhead of MarkUs depends on the quarantine and can be set by the user to an arbitrary value. \nThe smaller is the quarantine, the more often you need to run the GC scan, i.e. we can trade RAM for CPU.\nIf the quarantine is set to a fixed percentage of the overal memory footprint \n(as opposed to setting it to a fixed number of megabytes), \nthen the CPU overhead can be thought of as `O(HeapAllocationSpeed / NumberOfThreads)`\n\n## Possible Optimizations\n* Bypass quarantine when a certain allocation is statically known to be safe. \n* Bypass quarantine when UAF-safety can be provided by some other means (e.g. for huge heap allocation we can use quarantine based on protecting parts of the virtual address space)\n* Do not scan allocations known to not contain any pointers (e.g. allocations done on behalf of `std::string`)\n\n## MarkUs and Memory Tagging\nThe authors write:\n> ... MarkUs composes well with such techniques [memory tagging]. Not only\n> does MarkUs provide the security that tagged memory lacks,\n> and tagged memory the debug that MarkUs does not aim to\n> provide, but tagged memory can also make MarkUs more\n> efficient, by allowing reuse of memory multiple times, based\n> on incrementing the ID tag of each successive allocation,\n> before address space must be quarantined to ensure old IDs\n> have been eliminated and can be reallocated.\n\nIndeed so. With most implementations of memory tagging \n([HWASAN](https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html), \n[Arm MTE](https://developer.arm.com/-/media/Arm%20Developer%20Community/PDF/Arm_Memory_Tagging_Extension_Whitepaper.pdf), \n[SPARC ADI](https://www.kernel.org/doc/Documentation/sparc/adi.rst)) the following scheme is possible: \n* Every heap region is assigned a tag 0 on the first allocation. \n* On deallocation, the memory tag is incremented. If the tag has overflown, the memory chunk is put into MarkUs quarantine, \notherwise it is returned to malloc free-lists and can be immediately reused. \n\nWhy does this prevent UAFs? \n\nOn the first allocation (`tag=0`), the given region of address space has not been used, so no UAF is possible. \nOn the second allocation, we know that there might be a dangling pointer to the same region with `tag=0`, \nbut the current allocation uses `tag=1`, so an access through the old dangling pointer will generate a memory tagging trap.\nOn the `MaxTag`th allocation (i.e. in case of Arm or SPARC, on ~ 15th, in case of HWASAN, on 255th), \nwe know that there are potentially dangling pointers with the tags `0, 1, ... MaxTag-1`, but not yet with MaxTag.\nBut as soon as we deallocate the `MaxTag`th allocation we can no longer assume complete UAF-safety because all the generations of this pointer are potentially dangling. This is when we have to put the deallocated region into quarantine. \nOnce the quarantine reaches the threshold, we run a GC scan and evict from quanrantine \nonly those allocations versions of which are not found in the live memory.  \n\nThus, with e.g. Arm MTE, MarkUs will need 16x fewer scans, which makes MarkUs's performance compelling. \n\n\nSuch deterministic tags assignment may cause memory tagging to be less effective against heap buffer overflows. \nThe answer to that is to introduce some extra randomness into the tag creation. \n"
  },
  {
    "path": "hwaddress-sanitizer/check_registers/README.md",
    "content": "# check_registers - tests for x86 address tagging support in various registers\n\n## Overview\n\n`check_registers` is a test suite that evaluates the capabilities of a x86 CPU\nwith hardware pointer tagging support (e.g. Intel LAM or AMD UAI). It consists\nof a number of assembly functions that check the behavior of different\ninstructions in the presence of tagged pointers.\n\n`check_registers` is meant to be run on a x86 host that has a CPU with hardware\npointer tagging support (e.g. Intel LAM or AMD UAI) and a kernel with the\npointer tagging API:\n - `arch_prctl(ARCH_GET_MAX_TAG_BITS, &tag_bits)`\n - `arch_prctl(ARCH_ENABLE_TAGGED_ADDR, tag_bits)`\n - `arch_prctl(ARCH_GET_UNTAG_MASK, &tag_mask)`\n\nAs of March 2023, this API exists as a set of downstream kernel patches\navailable at\nhttps://lore.kernel.org/lkml/20230123220500.21077-1-kirill.shutemov@linux.intel.com/\n\n## Building\n\n```\n  $ g++ check_registers.cc -o check_registers\n```\n\n## Running\n\n```\n  $ ./check_registers [notag] [expect] [list of testcases]\n```\n\nBy default, `./check_registers` runs all tests, passing tagged pointers to them\nand printing the results to stdout. If the host does not support pointer\ntagging, all tests will fail:\n\n```\n  $ ./check_registers \n  Pointer tagging not supported, proceeding without it.\n  call_cs_rax: FAIL\n  jump_cs_rax: FAIL\n  mov_cs_rax: FAIL\n  ...\n```\n\nRunning `./check_registers notag` will pass untagged pointers to tests, so they\nwill pass:\n\n```\n  $ ./check_registers notag\n  Pointer tagging not supported, proceeding without it.\n  call_cs_rax: PASS\n  jump_cs_rax: PASS\n  mov_cs_rax: PASS\n```\n\nRunning `./check_registers` on a tagging-enabled host will produce a mix of\npassing and failing tests. To check which tests are expected to pass or fail,\nrun `./check_registers expect`:\n\n```\n  $ ./check_registers expect\n  Pointer tagging not supported, proceeding without it.\n  call_cs_rax: FAIL (expected)\n  jump_cs_rax: FAIL (expected)\n  mov_cs_rax: FAIL (unexpected)\n```\n\nOne can also pass the list of individual test cases to `check_registers`:\n\n```\n  $ ./check_registers ret_cs\n  Pointer tagging not supported, proceeding without it.\n  ret_cs: FAIL\n```\n\n## Test cases\n\nMost test case names consist of three parts: operation, segment register prefix\nand register name. One exception is `ret_cs`, which does not have register\ninputs and is using an implicit CS: segment prefix.\n\nThere are three data flow test groups, which are expected to pass on a\ntagging-enabled host:\n - `mov_$seg_$reg` - performs `movq $seg:(%$reg), %rbx`,\n - `movaps_$seg_$reg` - performs `movaps $seg:(%$reg), %xmm0`,\n - `tls_fs_$reg` -   performs `movq fs:(%$reg)`.\n\n, and three control flow test groups, which are expected to fail:\n - `call_cs_$reg` - performs `callq *%$reg` (`$reg` cannot be `%rsp`),\n - `jump_cs_$reg` - performs `jmpq *%$reg`,\n - `ret_cs`       - performs `ret`.\n\nFor the data flow tests the address in `$reg` is tagged (is in the\nnon-canonical form). `mov` and `movaps` tests accept userspace pointers\nwith bits 57:58 set to 1. `tls` tests accept negative offsets with bits\n57 and 58 set to 0. `mov` and `movaps` tests also support different segment\nprefixes, which should not affect the test result.\n\nControl flow tests accept a tagged pointer to executable code that is passed via\na general purpose register (for `call` and `jump`) or is stored on the top of\nthe stack (for `ret`). The corresponding instructions do not support segment\nprefixes.\n\n## Debugging\n\nTo run an individual test under `gdb`, e.g. `movaps_cs_rcx`:\n\n```\n  $ gdb ./check_registers\n  (gdb) set follow-fork-mode child\n  (gdb) br _Z13movaps_cs_rcxPv\n  (gdb) r movaps_cs_rcx\n  ...\n  Thread 2.1 \"check_registers\" hit Breakpoint 1, 0x0000555555557824 in movaps_cs_rcx(void*) ()\n```\n\nTo figure out the name of a function corresponding to the particular test, check\nthe source or the output of `nm check_registers`.\n"
  },
  {
    "path": "hwaddress-sanitizer/check_registers/check_registers.cc",
    "content": "// check_registers: tests for x86 address tagging support in various registers.\n\n// Each test is an assembly function that takes an address and attempts to\n// access it using the chosen instruction, register and segment prefix.\n// Because such accesses may result in page faults, these functions are executed\n// in separate subprocesses, and a test failure is reported if the subprocess\n// dies from a signal.\n//\n// Usage:\n//\n//  ./check_registers [notag] [expect] [list of testcases]\n//\n// By default, the program runs all the tests with tagging enabled and without\n// printing the test expectations. Extra arguments are:\n//  - notag: pass non-tagged pointers to the functions (all tests must pass);\n//  - expect: print tags expectations for the case tagging is enabled;\n//  - list of testcases: a space-separated list of tests to run.\n//\n// There currently are 6 types of test cases in two groups.\n// Data flow tests (expected to PASS with tagging enabled):\n//  - mov_$seg_$reg - performs 'movq $seg:(%$reg), %rbx',\n//  - movaps_$seg_$reg - performs 'movaps $seg:(%$reg), %xmm0',\n//  - tls_fs_$reg -   performs 'movq fs:(%$reg)'.\n//\n//  For these tests the address in $reg is tagged (is in the non-canonical\n//  form). \"mov\" and \"movaps\" tests accept userspace pointers with bits 57:58\n//  set to 1. \"tls\" tests accept negative offsets with bits 57 and 58 set to 0.\n//  \"mov\" and \"movaps\" tests also support different segment prefixes, which\n//  should not affect the test result.\n//\n// Control flow tests (expected to FAIL with tagging enabled):\n//  - call_cs_$reg - performs 'callq *%$reg' ($reg cannot be %rsp),\n//  - jump_cs_$reg - performs 'jmpq *%$reg',\n//  - ret_cs      - performs 'ret'.\n//\n//  These tests accept a tagged pointer to executable code that is passed via\n//  a general purpose register (for \"call\" and \"jump\") or is stored on the top\n//  of the stack (for \"ret\"). The corresponding instructions do not support\n//  segment prefixes.\n\n#include <asm/prctl.h>\n#include <sys/mman.h>\n#include <sys/syscall.h>\n#include <sys/wait.h>\n#include <unistd.h>\n\n#include <algorithm>\n#include <cstdio>\n#include <iostream>\n#include <set>\n#include <string>\n\n#define ARCH_GET_UNTAG_MASK 0x4001\n#define ARCH_ENABLE_TAGGED_ADDR 0x4002\n#define ARCH_GET_MAX_TAG_BITS 0x4003\n\n#define arch_prctl(...) syscall(__NR_arch_prctl, __VA_ARGS__)\n\n// Allocate some TLS for fs: accesses.\n__thread int ti[1024];\n\nint tag_bits;\nuint64_t tag_mask;\nvoid *tagged_addr, *tagged_offset, *tagged_jump;\n\n// Try to enable memory tagging for the process. Depending on @force, in the\n// case of a failure, either proceed without tags or bail out.\nbool try_enable_tagging(bool force) {\n  int err = arch_prctl(ARCH_GET_MAX_TAG_BITS, &tag_bits, 0, 0, 0);\n  if (err) {\n    if (!force) return false;\n    std::perror(__FUNCTION__);\n    exit(EXIT_FAILURE);\n  }\n\n  tag_bits = std::min(tag_bits, 6);\n  int ret = arch_prctl(ARCH_ENABLE_TAGGED_ADDR, tag_bits, 0, 0, 0);\n\n  if (ret) {\n    if (!force) return false;\n    std::perror(__FUNCTION__);\n    exit(EXIT_FAILURE);\n  }\n\n  ret = arch_prctl(ARCH_GET_UNTAG_MASK, &tag_mask, 0, 0, 0);\n\n  if (ret) {\n    if (!force) return false;\n    std::perror(__FUNCTION__);\n    exit(EXIT_FAILURE);\n  }\n\n  std::cout << \"Successfully enabled memory tagging.\\n\";\n  std::cout << \"  Tag bits: \" << tag_bits << \"\\n\";\n  std::cout << \"  Tag mask: \" << (void *)tag_mask << \"\\n\";\n  return true;\n}\n\n#define TEST_FN_NAME(prefix, seg, reg) prefix##_##seg##_##reg\n#define TEST_STR_NAME(prefix, seg, reg) #prefix \"_\" #seg \"_\" #reg\n\n//\n// Helper function for the \"ret_cs\" test that pushes the tagged argument to the\n// stack and returns to it.\n///\nstatic void ret_cs(void *addr) {\n  asm volatile(\n      \"push %0\\n\"\n      \"ret\\n\"\n      :\n      : \"r\"(addr));\n}\n\n// Helper function for mov_$seg_$reg and tls_$seg_$reg:\n//  - save $reg (exchange it with %rax);\n//  - load tagged argument into $reg;\n//  - move $seg:($reg) to %rbx;\n//  - restore $reg.\n#define FN_LOAD_SEG_REG(seg_name, reg_name)                \\\n  void TEST_FN_NAME(mov, seg_name, reg_name)(void *addr) { \\\n    asm volatile(\"xchg %%rax, %%\" #reg_name                \\\n                 \"\\n\"                                      \\\n                 \"movq %0, %%\" #reg_name                   \\\n                 \"\\n\"                                      \\\n                 \"movq %%\" #seg_name \":(%%\" #reg_name      \\\n                 \"), %%rbx\\n\"                              \\\n                 \"xchg %%rax, %%\" #reg_name \"\\n\"           \\\n                 : /* no outputs */                        \\\n                 : \"r\"(addr)                               \\\n                 : \"rax\", \"rbx\");                          \\\n  }\n\n// Helper function for movaps_$seg_$reg:\n//  - save $reg (exchange it with %rax);\n//  - load tagged argument into $reg;\n//  - movaps $seg:($reg) to %xmm0;\n//  - restore $reg.\n#define FN_MOVAPS_SEG_REG(seg_name, reg_name)                 \\\n  void TEST_FN_NAME(movaps, seg_name, reg_name)(void *addr) { \\\n    asm volatile(\"xchg %%rax, %%\" #reg_name                   \\\n                 \"\\n\"                                         \\\n                 \"movq %0, %%\" #reg_name                      \\\n                 \"\\n\"                                         \\\n                 \"movaps %%\" #seg_name \":(%%\" #reg_name       \\\n                 \"), %%xmm0\\n\"                                \\\n                 \"xchg %%rax, %%\" #reg_name \"\\n\"              \\\n                 : /* no outputs */                           \\\n                 : \"r\"(addr)                                  \\\n                 : \"rax\");                                    \\\n  }\n\n// Helper function for jmp_cs_$reg:\n//  - load tagged argument into $reg;\n//  - jmpq *$reg\n//\n// The jump target is supposed to terminate the process, so we do not care about\n// clobbering the registers.\n#define FN_JUMP_REG(reg_name)                                \\\n  static void TEST_FN_NAME(jump, cs, reg_name)(void *addr) { \\\n    asm volatile(\"movq %0, %%\" #reg_name                     \\\n                 \"\\n\"                                        \\\n                 \"jmpq *%%\" #reg_name \"\\n\" /* no outputs */  \\\n                 :                                           \\\n                 : \"r\"(addr)                                 \\\n                 :);                                         \\\n  }\n\n// Helper function for call_cs_$reg:\n//  - load tagged argument into $reg;\n//  - callq *$reg\n//\n// The call target is supposed to terminate the process, so we do not care about\n// clobbering the registers.\n// Note that $reg cannot be %rsp, because in that case the target must be both\n// writable and executable.\n#define FN_CALL_REG(reg_name)                                \\\n  static void TEST_FN_NAME(call, cs, reg_name)(void *addr) { \\\n    asm volatile(\"movq %0, %%\" #reg_name                     \\\n                 \"\\n\"                                        \\\n                 \"callq *%%\" #reg_name \"\\n\" /* no outputs */ \\\n                 :                                           \\\n                 : \"r\"(addr)                                 \\\n                 :);                                         \\\n  }\n\n// Generate test functions for \"mov\" and \"movaps\" tests.\n#define FN_TEST_SEG_REG(seg, reg) \\\n  FN_LOAD_SEG_REG(seg, reg)       \\\n  FN_MOVAPS_SEG_REG(seg, reg)\n\n// Generate test functions for a particular GP register.\n#define FN_TEST_REG_NOCALL(reg) \\\n  FN_TEST_SEG_REG(cs, reg)      \\\n  FN_TEST_SEG_REG(ds, reg)      \\\n  FN_TEST_SEG_REG(es, reg)      \\\n  FN_TEST_SEG_REG(fs, reg)      \\\n  FN_TEST_SEG_REG(gs, reg)      \\\n  FN_TEST_SEG_REG(ss, reg)      \\\n  FN_JUMP_REG(reg)\n\n#define FN_TEST_REG(reg)  \\\n  FN_TEST_REG_NOCALL(reg) \\\n  FN_CALL_REG(reg)\n\n// Generate test functions for all GP registers.\nFN_TEST_REG(rax)\nFN_TEST_REG(rbx)\nFN_TEST_REG(rcx)\nFN_TEST_REG(rdx)\nFN_TEST_REG(rdi)\nFN_TEST_REG(rsi)\nFN_TEST_REG_NOCALL(rsp)\nFN_TEST_REG(rbp)\n\ntypedef void (*test_f)(void *);\n\nenum TestType {\n  CS_JMP,        // jmp to memory, no segment prefix, assuming CS\n  CS_RET,        // ret to memory at *RSP, no explicit segment or register\n  NOFS_MEM_PTR,  // any segment register except FS, memory pointer\n  FS_MEM_PTR,    // fs:reg access to memory pointer, FS set to 0\n  FS_OFFSET,  // fs:reg access to TLS (reg contains negative offset), FS remains\n              //   intact\n};\n\nstruct Test {\n  const char *name;\n  test_f fn;\n  TestType type;\n  bool expect;\n};\n\n// Declare a test named \"$prefix_$seg_$reg\" that will call the $op_$seg_$reg()\n// helper function.\n#define TEST_SEG_REG(prefix, op, seg, reg, test_type, test_expect)             \\\n  {                                                                            \\\n    .name = TEST_STR_NAME(prefix, seg, reg), .fn = TEST_FN_NAME(op, seg, reg), \\\n    .type = test_type, .expect = test_expect                                   \\\n  }\n\n// Test cases for a particular segment:register pair.\n#define TEST_MEM_SEG_REG(seg, reg, test_type)        \\\n  TEST_SEG_REG(mov, mov, seg, reg, test_type, true), \\\n      TEST_SEG_REG(movaps, movaps, seg, reg, test_type, true)\n\n// All test cases for a particular GP register.\n#define TEST_REG_NOCALL(reg)                            \\\n  TEST_SEG_REG(jump, jump, cs, reg, CS_JMP, false),     \\\n      TEST_MEM_SEG_REG(cs, reg, NOFS_MEM_PTR),          \\\n      TEST_MEM_SEG_REG(ds, reg, NOFS_MEM_PTR),          \\\n      TEST_MEM_SEG_REG(es, reg, NOFS_MEM_PTR),          \\\n      TEST_MEM_SEG_REG(fs, reg, FS_MEM_PTR),            \\\n      TEST_SEG_REG(tls, mov, fs, reg, FS_OFFSET, true), \\\n      TEST_MEM_SEG_REG(gs, reg, NOFS_MEM_PTR),          \\\n      TEST_MEM_SEG_REG(ss, reg, NOFS_MEM_PTR)\n\n#define TEST_REG(reg) \\\n  TEST_SEG_REG(call, call, cs, reg, CS_JMP, false), TEST_REG_NOCALL(reg)\n\n// Test case for \"ret_cs\".\n#define TEST_RET() \\\n  { .name = \"ret_cs\", .fn = ret_cs, .type = CS_RET, .expect = false }\n\n// All test cases.\nTest testcases[] = {TEST_REG(rax),        TEST_REG(rbx), TEST_REG(rcx),\n                    TEST_REG(rdx),        TEST_REG(rdi), TEST_REG(rsi),\n                    TEST_REG_NOCALL(rsp), TEST_REG(rbp), TEST_RET()};\n\n// Child processes may change FS, which will crash inside libc functions.\n// Die immediately to avoid false failures caused by this.\nvoid safe_exit() {\n  asm(\"mov $0x3c, %rax\\n\"\n      \"xor %rdi, %rdi\\n\"\n      \"syscall\");\n}\n\n// Run a single test case and print the result (plus the expected result, if\n// requested).\nvoid test_one(Test *test, bool show_expectations) {\n  int status;\n  bool test_result = false;\n  void *arg = nullptr;\n  int pid = fork();\n  if (pid == -1) {\n    std::perror(\"fork\");\n    exit(EXIT_FAILURE);\n  }\n  if (pid == 0) {\n    // For \"mov\" and \"movaps\" tests that use fs: segment prefix, set FS to 0, so\n    // that the test can address the allocated memory.\n    // Note: libc relies on FS being non-zero for TLS, so we cannot call libc\n    // functions from now on.\n    if (test->type == FS_MEM_PTR) arch_prctl(ARCH_SET_FS, 0);\n    switch (test->type) {\n      case CS_JMP:\n        arg = tagged_jump;\n        break;\n      case CS_RET:\n        arg = tagged_jump;\n        break;\n      case FS_OFFSET:\n        arg = tagged_offset;\n        break;\n      case FS_MEM_PTR:\n      case NOFS_MEM_PTR:\n        arg = tagged_addr;\n        break;\n    }\n    test->fn(arg);\n    safe_exit();\n  } else {\n    do {\n      int w = waitpid(pid, &status, 0);\n      if (w == -1) {\n        std::perror(\"waitpid\");\n        exit(EXIT_FAILURE);\n      }\n      if (WIFEXITED(status)) {\n        test_result = true;\n      } else if (WIFSIGNALED(status)) {\n        test_result = false;\n      } else {\n        std::perror(\"Unexpected wait status\");\n        exit(EXIT_FAILURE);\n      }\n      const char *result = test_result ? \"PASS\" : \"FAIL\";\n      const char *expect =\n          show_expectations\n              ? (test_result == test->expect ? \" (expected)\" : \" (unexpected)\")\n              : \"\";\n      std::cout << test->name << \": \" << result << expect << \"\\n\";\n    } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n  }\n}\n\n// Flip bits 57 and 58 to model a pointer tag.\n// Also works with negative pointers for TLS accesses.\nvoid *tagged_pointer(void *untagged) {\n  uint64_t p = (uint64_t)untagged;\n  p ^= (3UL << 57);\n  return (void *)p;\n}\n\n// Set up globals that will be used by the test cases:\n//  - tagged_addr - an address for \"mov\" and \"movaps\" tests;\n//  - tagged_offset - a negative offset for \"tls\" tests;\n//  - tagged_jump - a piece of code terminating the process.\nvoid prepare_targets(bool use_tagging) {\n  tagged_addr = mmap(nullptr, 0x1000, PROT_READ | PROT_WRITE,\n                     MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n  tagged_offset = (void *)(-64L);\n  tagged_jump = mmap(nullptr, 0x1000, PROT_READ | PROT_WRITE,\n                     MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n  // Inline the implementation of safe_exit():\n  //   mov $0x3c, %rax\n  //   nop\n  //   xor %rdi, %rdi;\n  //   syscall\n  ((uint64_t *)tagged_jump)[0] = 0x900000003cc0c748;\n  ((uint64_t *)tagged_jump)[1] = 0x050fff3148;\n  mprotect(tagged_jump, 0x1000, PROT_READ | PROT_EXEC);\n\n  if (use_tagging) {\n    tagged_addr = tagged_pointer(tagged_addr);\n    tagged_offset = tagged_pointer(tagged_offset);\n    tagged_jump = tagged_pointer(tagged_jump);\n  }\n}\n\n// Parse the command line args and run the tests.\nint main(int argc, char *argv[]) {\n  bool use_tagging = true;\n  bool show_expectations = false;\n\n  std::set<std::string> args;\n  for (int i = 1; i < argc; i++) {\n    args.insert(argv[i]);\n  }\n\n  if (args.find(\"notag\") != args.end()) {\n    use_tagging = false;\n    args.erase(\"notag\");\n  }\n\n  if (args.find(\"expect\") != args.end()) {\n    show_expectations = true;\n    args.erase(\"expect\");\n  }\n\n  if (!try_enable_tagging(false))\n    std::cerr << \"Pointer tagging not supported, proceeding without it.\\n\";\n  prepare_targets(use_tagging);\n  for (Test t : testcases) {\n    if (args.empty() || (args.find(t.name) != args.end()))\n      test_one(&t, show_expectations);\n  }\n  return 0;\n}\n"
  },
  {
    "path": "hwaddress-sanitizer/create_qemu_image.sh",
    "content": "#!/bin/bash -eux\n#\n# Creates and configures a minimal Debian image for running HWASan tests in\n# QEMU with the run_in_qemu_with_lam.sh script in this directory.\n#\n# Usage: sudo ./create_qemu_image.sh\n#\n# Outputs: the QEMU image and SSH keys in the current directory.\n\nif [[ -f /etc/lsb-release ]] ; then \n  . /etc/lsb-release\n  RELEASE=${DISTRIB_CODENAME}\nfi\n\nif [[ -f /etc/os-release ]] ; then \n  . /etc/os-release\n  RELEASE=${VERSION_CODENAME}\nfi\n\n# Comma-separated list of packages.\n: ${PREINSTALL_PKGS:=\"openssh-server,nfs-common\"}\n\nreadonly DIR=\"$(mktemp -d)\"\nreadonly IMAGE_DIR=\"${DIR}/${RELEASE}\"\n\n# Generate base system.\nmkdir \"${IMAGE_DIR}\"\ndebootstrap --include=\"${PREINSTALL_PKGS}\" \"${RELEASE}\" \"${IMAGE_DIR}\"\n\n# Configure system to boot properly.\nsed -i \"/^root/ { s/:x:/::/ }\" \"${IMAGE_DIR}/etc/passwd\"\necho \"T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100\" \\\n  >> \"${IMAGE_DIR}/etc/inittab\"\n\n# debian\n[[ -d ${IMAGE_DIR}/etc/network ]] && cat <<EOF >${IMAGE_DIR}/etc/network/interfaces\nauto eth0\niface eth0 inet dhcp\nEOF\n\n# ubuntu\n[[ -d ${IMAGE_DIR}/etc/netplan ]] && cat <<EOF >${IMAGE_DIR}/etc/netplan/config.yaml\nnetwork:\n    version: 2\n    renderer: networkd\n    ethernets:\n        eth0:\n            dhcp4: true\nEOF\n\necho \"/dev/root / ext4 defaults 0 0\" >> \"${IMAGE_DIR}/etc/fstab\"\necho -en \"127.0.0.1\\tlocalhost\\n\" > \"${IMAGE_DIR}/etc/hosts\"\necho \"nameserver 8.8.8.8\" >> \"${IMAGE_DIR}/etc/resolv.conf\"\necho \"debian\" > \"${IMAGE_DIR}/etc/hostname\"\n\n# Set up SSH.\nssh-keygen -q -f \"debian.id_rsa\" -t rsa -N \"\"\nmkdir -p \"${IMAGE_DIR}/root/.ssh/\"\ncat \"debian.id_rsa.pub\" > \"${IMAGE_DIR}/root/.ssh/authorized_keys\"\necho \"MaxSessions 1000\" >>${IMAGE_DIR}/etc/ssh/sshd_config\n\n# Configure for HWASan tests.\nmkdir -p \"${IMAGE_DIR}/workspace\"\n\n# Build disk image.\ndd if=/dev/zero of=\"debian.img\" bs=1M seek=2047 count=1\nmkfs.ext4 -F \"debian.img\"\nmkdir -p \"/mnt/${RELEASE}\"\nmount -o loop \"debian.img\" \"/mnt/${RELEASE}\"\ncp -a \"${IMAGE_DIR}/.\" \"/mnt/${RELEASE}/.\"\numount \"/mnt/${RELEASE}\"\nwhile ! rm -rf \"/mnt/${RELEASE}\" ; do sleep 5; done;\n\n# Allow non-root user to access image.\nchmod 666 \"debian.img\"\n"
  },
  {
    "path": "hwaddress-sanitizer/dumptags.cc",
    "content": "#include <assert.h>\n#include <dirent.h>\n#include <regex>\n#include <fcntl.h>\n#include <fstream>\n#include <iostream>\n#include <sstream>\n#include <string>\n#include <set>\n#include <map>\n#include <sys/mman.h>\n#include <sys/ptrace.h>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <sys/uio.h>\n#include <unistd.h>\n\n#define PTRACE_PEEKMTETAGS 33\n\ntemplate <typename T>\nstd::string hex_to_string(T x) {\n  std::stringstream sstream;\n  sstream << std::hex << x;\n  std::string result = sstream.str();\n  return result;\n}\n\ntypedef unsigned long uptr;\n\nstruct Map {\n  uptr start, end;\n  std::string name;\n  uptr rss, pss;\n  uptr shadow_pages;\n  unsigned prot;\n  bool mt;\n  Map(uptr start, uptr end, const std::string &p, const std::string &name)\n      : start(start),\n        end(end),\n        name(name),\n        rss(0),\n        pss(0),\n        shadow_pages(0),\n        prot(0),\n        mt(false) {\n    assert(p[0] == 'r' || p[0] == '-');\n    assert(p[1] == 'w' || p[1] == '-');\n    assert(p[2] == 'x' || p[2] == '-');\n    if (p[0] == 'r')\n      prot |= PROT_READ;\n    if (p[1] == 'w')\n      prot |= PROT_WRITE;\n    if (p[2] == 'x')\n      prot |= PROT_EXEC;\n  }\n};\n\nvoid read_maps(int pid, std::vector<Map*> &maps) {\n  std::regex name_regex(\n      \"([01-9a-f]+)-([01-9a-f]+) ([a-z-]{4}) [01-9a-f]+ \"\n      \"[01-9a-f]{2}:[01-9a-f]{2} [01-9a-f]+\\\\s*(.*)?\");\n  std::regex rss_regex(\"Rss:\\\\s+(\\\\d+) kB\");\n  std::regex pss_regex(\"Pss:\\\\s+(\\\\d+) kB\");\n  std::regex vmflags_regex(\"VmFlags:(.+)\");\n\n  maps.clear();\n  std::string path = \"/proc/\" + std::to_string(pid) + \"/smaps\";\n  std::ifstream smaps(path);\n  std::string line;\n  Map *current = nullptr;\n  while (std::getline(smaps, line)) {\n    std::smatch match;\n    if (std::regex_match(line, match, name_regex)) {\n      assert(match.size() == 5);\n      if (current)\n        maps.push_back(current);\n      uptr start = stoul(match[1].str(), 0, 16);\n      uptr end = stoul(match[2].str(), 0, 16);\n      current = new Map(start, end, match[3], match[4]);\n    } else if (std::regex_match(line, match, rss_regex)) {\n      assert(match.size() == 2);\n      assert(current);\n      current->rss = stoul(match[1].str());\n    } else if (std::regex_match(line, match, pss_regex)) {\n      assert(match.size() == 2);\n      assert(current);\n      current->pss = stoul(match[1].str());\n    } else if (std::regex_match(line, match, vmflags_regex)) {\n      assert(match.size() == 2);\n      assert(current);\n      current->mt = match[1].str().find(\" mt\") != std::string::npos;\n    }\n  }\n  if (current)\n    maps.push_back(current);\n}\n\nuint64_t get_pfn(int pagemapfd, size_t addr) {\n  size_t pagemap_offset = (addr / 4096) * 8;\n  uint64_t pagemap_entry;\n  if (pread(pagemapfd, &pagemap_entry, 8, pagemap_offset) != 8) {\n    perror(\"pread pagemap\");\n    exit(1);\n  }\n\n  if (!(pagemap_entry & (1ULL << 63))) {\n    return 0;\n  }\n\n  return pagemap_entry & ((1ULL << 55) - 1);\n}\n\nstd::set<uint64_t> seen_pfns;\nint outfd;\n\nvoid dump_map_tags(int pid, int pagemapfd, Map *m) {\n  assert(m->start % 4096 == 0);\n  assert(m->end % 4096 == 0);\n  std::cerr << \"dumping: \" << (void *)m->start << \" .. \" << (void *)m->end << \"  \" << m->name;\n\n  uint64_t total = 0, present = 0, dumped = 0;\n  for (uptr addr = m->start; addr != m->end; addr += 4096) {\n    ++total;\n    uint64_t pfn = get_pfn(pagemapfd, addr);\n    if (pfn == 0)\n      continue;\n    ++present;\n    if (!seen_pfns.insert(pfn).second)\n      continue;\n    ++dumped;\n\n    constexpr uptr size = 4096 / 16;\n    char buf[size];\n    iovec iov = {buf, size};\n    long res = ptrace(PTRACE_PEEKMTETAGS, pid, (void *)addr, &iov);\n    if (res != 0) {\n      perror(\"peekmtetags\");\n      exit(1);\n    }\n    assert(res == 0 && iov.iov_len == size);\n\n    if (write(outfd, buf, size) != size) {\n      perror(\"write\");\n      exit(1);\n    }\n  }\n\n  std::cerr << \": \" << total << \" pages, \" << present << \" present\" << \", \" << dumped << \" dumped\\n\";\n}\n\nvoid dump_pid_tags(int pid) {\n  int pagemapfd = open((\"/proc/\" + std::to_string(pid) + \"/pagemap\").c_str(), O_RDONLY);\n  if (pagemapfd < 0) {\n    perror(\"open pagemap\");\n    exit(1);\n  }\n\n  int res = ptrace(PTRACE_ATTACH, pid, nullptr, nullptr);\n  if (res != 0) {\n    perror(\"ptrace attach\");\n    exit(1);\n  }\n\n  std::vector<Map*> maps;\n  read_maps(pid, maps);\n\n  for (auto m : maps) {\n    if (!m->mt)\n      continue;\n    dump_map_tags(pid, pagemapfd, m);\n  }\n\n  res = ptrace(PTRACE_DETACH, pid, nullptr, nullptr);\n  if (res != 0) {\n    perror(\"ptrace attach\");\n    exit(1);\n  }\n\n  close(pagemapfd);\n}\n\nint main(int argc, char **argv) {\n  if (argc != 2) {\n    std::cerr << \"arg required\\n\";\n    return 1;\n  }\n  outfd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);\n  if (outfd < 0) {\n    perror(\"open\");\n    exit(1);\n  }\n\n  DIR *proc = opendir(\"/proc\");\n  if (!proc) {\n    perror(\"opendir\");\n    exit(1);\n  }\n\n  while (dirent *ent = readdir(proc)) {\n    char *end;\n    int pid = strtol(ent->d_name, &end, 10);\n    if (*end != 0) {\n      continue;\n    }\n    if (pid == getpid()) {\n      continue;\n    }\n    \n    char exe[256];\n    size_t exe_size = readlink(\n        (\"/proc/\" + std::to_string(pid) + \"/exe\").c_str(), exe, sizeof(exe));\n    if (exe_size == -1) {\n      // Skip kernel threads.\n      if (errno == ENOENT) {\n        continue;\n      }\n      perror(\"readlink\");\n      exit(1);\n    }\n\n    if (exe_size >= sizeof(exe)) {\n      exe_size = sizeof(exe) - 1;\n    }\n    exe[exe_size] = 0;\n\n    std::cerr << \"dumping pid \" << pid << \": \" << exe << '\\n';\n    dump_pid_tags(pid);\n  }\n\n  closedir(proc);\n}\n"
  },
  {
    "path": "hwaddress-sanitizer/kernel-untag.patch",
    "content": "diff --git a/arch/arm64/include/asm/uaccess.h b/arch/arm64/include/asm/uaccess.h\nindex 064cef9ae2d1..a5351a0f0fd3 100644\n--- a/arch/arm64/include/asm/uaccess.h\n+++ b/arch/arm64/include/asm/uaccess.h\n@@ -126,8 +126,11 @@ static inline void set_fs(mm_segment_t fs)\n  * pass on to access_ok(), for instance.\n  */\n #define untagged_addr(addr)\t\tsign_extend64(addr, 55)\n+#define canonicalize_user_addr(addr) \\\n+  (void *)untagged_addr((unsigned long __force)addr)\n \n-#define access_ok(type, addr, size)\t__range_ok(addr, size)\n+#define access_ok(type, addr, size) \\\n+  __range_ok(canonicalize_user_addr(addr), size)\n #define user_addr_max\t\t\tget_fs\n \n #define _ASM_EXTABLE(from, to)\t\t\t\t\t\t\\\ndiff --git a/lib/strncpy_from_user.c b/lib/strncpy_from_user.c\nindex b4aacfc0b4b3..ccd44706a50f 100644\n--- a/lib/strncpy_from_user.c\n+++ b/lib/strncpy_from_user.c\n@@ -114,9 +114,10 @@ efault:\n  * If @count is smaller than the length of the string, copies @count bytes\n  * and returns @count.\n  */\n-long strncpy_from_user(char *dst, const char __user *src, long count)\n+long strncpy_from_user(char *dst, const char __user *user_src, long count)\n {\n \tunsigned long max_addr, src_addr;\n+        const char __user *src = canonicalize_user_addr(user_src);\n \n \tif (unlikely(count <= 0))\n \t\treturn 0;\ndiff --git a/lib/strnlen_user.c b/lib/strnlen_user.c\nindex 8e105ed4df12..a3eee7b40242 100644\n--- a/lib/strnlen_user.c\n+++ b/lib/strnlen_user.c\n@@ -100,9 +100,10 @@ efault:\n  * threads. Use \"strncpy_from_user()\" instead to get a stable copy\n  * of the string.\n  */\n-long strnlen_user(const char __user *str, long count)\n+long strnlen_user(const char __user *user_str, long count)\n {\n \tunsigned long max_addr, src_addr;\n+        const char __user *str = canonicalize_user_addr(user_str);\n \n \tif (unlikely(count <= 0))\n \t\treturn 0;\n@@ -137,9 +138,10 @@ EXPORT_SYMBOL(strnlen_user);\n  * If there is a limit on the length of a valid string, you may wish to\n  * consider using strnlen_user() instead.\n  */\n-long strlen_user(const char __user *str)\n+long strlen_user(const char __user *user_str)\n {\n \tunsigned long max_addr, src_addr;\n+        const char __user *str = canonicalize_user_addr(user_str);\n \n \tmax_addr = user_addr_max();\n \tsrc_addr = (unsigned long)str;\ndiff --git a/mm/madvise.c b/mm/madvise.c\nindex c154e1076303..4d0dc9e3fe6b 100644\n--- a/mm/madvise.c\n+++ b/mm/madvise.c\n@@ -467,6 +467,8 @@ SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)\n \tsize_t len;\n \tstruct blk_plug plug;\n \n+        start = (unsigned long)canonicalize_user_addr(start);\n+\n #ifdef CONFIG_MEMORY_FAILURE\n \tif (behavior == MADV_HWPOISON || behavior == MADV_SOFT_OFFLINE)\n \t\treturn madvise_hwpoison(behavior, start, start+len_in);\ndiff --git a/mm/mempolicy.c b/mm/mempolicy.c\nindex 5acc1f979dda..961d61c289d5 100644\n--- a/mm/mempolicy.c\n+++ b/mm/mempolicy.c\n@@ -1299,6 +1299,8 @@ SYSCALL_DEFINE6(mbind, unsigned long, start, unsigned long, len,\n \tint err;\n \tunsigned short mode_flags;\n \n+        start = canonicalize_user_addr(start);\n+\n \tmode_flags = mode & MPOL_MODE_FLAGS;\n \tmode &= ~MPOL_MODE_FLAGS;\n \tif (mode >= MPOL_MAX)\n@@ -1436,6 +1438,8 @@ SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,\n \tint uninitialized_var(pval);\n \tnodemask_t nodes;\n \n+        addr = canonicalize_user_addr(addr);\n+\n \tif (nmask != NULL && maxnode < MAX_NUMNODES)\n \t\treturn -EINVAL;\n \n@@ -1465,6 +1469,8 @@ COMPAT_SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,\n \tunsigned long nr_bits, alloc_size;\n \tDECLARE_BITMAP(bm, MAX_NUMNODES);\n \n+        addr = canonicalize_user_addr(addr);\n+\n \tnr_bits = min_t(unsigned long, maxnode-1, MAX_NUMNODES);\n \talloc_size = ALIGN(nr_bits, BITS_PER_LONG) / 8;\n \n@@ -1514,6 +1520,8 @@ COMPAT_SYSCALL_DEFINE6(mbind, compat_ulong_t, start, compat_ulong_t, len,\n \tunsigned long nr_bits, alloc_size;\n \tnodemask_t bm;\n \n+        start = canonicalize_user_addr(start);\n+\n \tnr_bits = min_t(unsigned long, maxnode-1, MAX_NUMNODES);\n \talloc_size = ALIGN(nr_bits, BITS_PER_LONG) / 8;\n \n"
  },
  {
    "path": "hwaddress-sanitizer/outlined_calling_convention.h",
    "content": "void __usercall _hwasan_check_x0_0_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_0(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_1_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_1(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_2_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_3_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_3(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_4_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_4(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_16_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_16(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_17_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_17(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_18_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_18(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_19_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_19(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_20_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_20(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_32_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_32(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_33_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_33(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_34_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_34(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_35_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_35(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_36_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_36(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_48_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_48(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_49_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_49(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_50_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_50(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_51_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_51(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_52_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_52(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_64_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_64(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_65_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_65(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_66_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_66(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_67_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_67(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_68_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_68(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_80_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_80(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_81_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_81(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_82_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_82(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_83_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_83(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_84_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_84(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_96_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_96(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_97_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_97(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_98_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_98(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_99_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_99(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_100_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_100(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_112_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_112(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_113_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_113(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_114_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_114(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_115_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_115(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_116_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_116(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_128_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_128(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_129_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_129(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_130_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_130(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_131_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_131(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_132_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_132(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_144_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_144(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_145_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_145(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_146_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_146(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_147_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_147(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_148_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_148(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_160_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_160(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_161_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_161(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_162_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_162(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_163_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_163(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_164_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_164(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_176_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_176(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_177_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_177(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_178_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_178(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_179_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_179(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_180_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_180(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_192_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_192(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_193_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_193(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_194_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_194(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_195_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_195(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_196_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_196(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_208_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_208(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_209_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_209(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_210_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_210(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_211_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_211(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_212_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_212(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_224_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_224(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_225_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_225(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_226_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_226(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_227_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_227(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_228_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_228(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_240_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_240(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_241_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_241(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_242_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_242(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_243_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_243(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_244_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_244(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_256_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_256(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_257_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_257(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_258_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_258(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_259_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_259(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_260_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_260(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_272_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_272(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_273_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_273(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_274_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_274(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_275_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_275(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_276_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_276(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_288_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_288(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_289_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_289(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_290_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_290(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_291_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_291(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_292_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_292(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_304_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_304(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_305_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_305(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_306_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_306(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_307_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_307(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_308_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_308(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_320_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_320(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_321_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_321(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_322_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_322(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_323_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_323(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_324_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_324(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_336_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_336(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_337_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_337(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_338_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_338(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_339_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_339(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_340_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_340(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_352_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_352(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_353_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_353(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_354_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_354(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_355_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_355(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_356_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_356(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_368_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_368(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_369_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_369(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_370_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_370(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_371_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_371(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_372_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_372(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_384_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_384(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_385_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_385(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_386_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_386(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_387_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_387(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_388_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_388(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_400_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_400(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_401_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_401(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_402_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_402(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_403_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_403(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_404_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_404(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_416_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_416(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_417_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_417(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_418_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_418(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_419_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_419(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_420_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_420(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_432_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_432(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_433_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_433(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_434_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_434(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_435_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_435(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_436_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_436(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_448_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_448(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_449_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_449(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_450_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_450(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_451_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_451(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_452_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_452(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_464_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_464(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_465_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_465(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_466_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_466(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_467_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_467(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_468_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_468(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_480_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_480(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_481_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_481(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_482_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_482(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_483_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_483(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_484_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_484(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_496_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_496(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_497_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_497(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_498_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_498(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_499_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_499(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_500_short_v2(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x0_500(_QWORD@<x0>);\nvoid __usercall _hwasan_check_x1_0_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_0(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_1_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_1(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_2_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_3_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_3(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_4_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_4(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_16_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_16(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_17_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_17(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_18_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_18(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_19_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_19(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_20_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_20(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_32_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_32(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_33_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_33(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_34_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_34(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_35_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_35(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_36_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_36(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_48_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_48(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_49_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_49(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_50_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_50(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_51_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_51(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_52_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_52(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_64_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_64(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_65_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_65(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_66_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_66(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_67_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_67(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_68_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_68(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_80_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_80(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_81_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_81(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_82_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_82(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_83_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_83(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_84_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_84(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_96_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_96(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_97_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_97(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_98_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_98(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_99_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_99(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_100_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_100(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_112_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_112(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_113_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_113(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_114_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_114(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_115_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_115(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_116_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_116(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_128_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_128(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_129_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_129(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_130_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_130(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_131_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_131(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_132_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_132(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_144_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_144(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_145_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_145(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_146_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_146(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_147_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_147(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_148_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_148(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_160_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_160(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_161_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_161(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_162_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_162(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_163_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_163(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_164_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_164(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_176_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_176(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_177_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_177(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_178_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_178(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_179_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_179(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_180_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_180(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_192_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_192(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_193_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_193(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_194_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_194(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_195_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_195(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_196_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_196(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_208_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_208(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_209_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_209(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_210_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_210(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_211_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_211(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_212_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_212(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_224_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_224(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_225_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_225(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_226_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_226(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_227_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_227(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_228_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_228(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_240_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_240(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_241_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_241(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_242_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_242(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_243_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_243(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_244_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_244(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_256_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_256(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_257_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_257(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_258_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_258(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_259_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_259(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_260_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_260(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_272_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_272(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_273_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_273(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_274_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_274(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_275_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_275(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_276_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_276(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_288_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_288(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_289_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_289(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_290_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_290(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_291_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_291(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_292_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_292(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_304_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_304(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_305_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_305(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_306_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_306(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_307_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_307(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_308_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_308(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_320_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_320(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_321_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_321(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_322_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_322(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_323_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_323(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_324_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_324(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_336_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_336(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_337_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_337(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_338_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_338(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_339_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_339(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_340_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_340(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_352_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_352(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_353_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_353(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_354_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_354(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_355_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_355(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_356_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_356(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_368_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_368(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_369_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_369(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_370_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_370(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_371_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_371(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_372_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_372(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_384_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_384(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_385_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_385(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_386_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_386(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_387_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_387(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_388_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_388(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_400_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_400(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_401_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_401(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_402_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_402(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_403_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_403(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_404_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_404(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_416_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_416(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_417_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_417(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_418_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_418(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_419_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_419(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_420_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_420(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_432_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_432(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_433_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_433(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_434_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_434(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_435_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_435(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_436_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_436(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_448_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_448(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_449_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_449(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_450_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_450(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_451_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_451(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_452_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_452(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_464_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_464(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_465_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_465(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_466_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_466(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_467_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_467(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_468_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_468(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_480_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_480(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_481_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_481(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_482_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_482(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_483_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_483(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_484_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_484(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_496_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_496(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_497_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_497(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_498_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_498(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_499_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_499(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_500_short_v2(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x1_500(_QWORD@<x1>);\nvoid __usercall _hwasan_check_x2_0_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_0(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_1_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_1(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_2_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_3_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_3(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_4_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_4(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_16_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_16(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_17_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_17(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_18_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_18(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_19_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_19(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_20_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_20(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_32_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_32(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_33_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_33(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_34_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_34(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_35_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_35(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_36_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_36(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_48_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_48(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_49_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_49(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_50_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_50(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_51_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_51(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_52_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_52(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_64_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_64(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_65_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_65(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_66_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_66(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_67_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_67(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_68_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_68(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_80_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_80(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_81_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_81(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_82_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_82(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_83_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_83(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_84_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_84(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_96_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_96(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_97_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_97(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_98_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_98(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_99_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_99(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_100_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_100(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_112_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_112(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_113_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_113(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_114_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_114(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_115_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_115(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_116_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_116(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_128_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_128(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_129_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_129(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_130_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_130(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_131_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_131(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_132_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_132(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_144_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_144(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_145_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_145(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_146_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_146(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_147_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_147(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_148_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_148(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_160_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_160(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_161_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_161(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_162_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_162(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_163_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_163(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_164_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_164(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_176_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_176(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_177_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_177(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_178_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_178(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_179_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_179(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_180_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_180(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_192_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_192(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_193_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_193(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_194_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_194(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_195_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_195(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_196_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_196(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_208_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_208(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_209_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_209(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_210_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_210(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_211_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_211(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_212_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_212(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_224_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_224(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_225_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_225(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_226_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_226(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_227_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_227(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_228_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_228(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_240_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_240(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_241_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_241(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_242_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_242(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_243_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_243(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_244_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_244(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_256_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_256(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_257_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_257(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_258_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_258(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_259_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_259(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_260_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_260(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_272_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_272(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_273_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_273(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_274_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_274(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_275_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_275(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_276_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_276(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_288_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_288(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_289_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_289(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_290_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_290(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_291_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_291(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_292_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_292(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_304_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_304(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_305_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_305(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_306_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_306(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_307_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_307(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_308_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_308(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_320_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_320(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_321_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_321(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_322_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_322(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_323_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_323(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_324_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_324(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_336_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_336(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_337_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_337(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_338_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_338(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_339_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_339(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_340_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_340(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_352_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_352(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_353_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_353(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_354_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_354(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_355_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_355(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_356_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_356(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_368_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_368(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_369_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_369(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_370_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_370(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_371_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_371(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_372_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_372(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_384_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_384(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_385_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_385(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_386_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_386(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_387_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_387(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_388_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_388(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_400_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_400(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_401_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_401(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_402_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_402(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_403_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_403(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_404_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_404(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_416_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_416(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_417_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_417(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_418_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_418(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_419_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_419(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_420_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_420(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_432_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_432(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_433_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_433(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_434_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_434(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_435_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_435(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_436_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_436(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_448_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_448(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_449_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_449(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_450_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_450(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_451_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_451(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_452_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_452(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_464_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_464(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_465_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_465(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_466_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_466(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_467_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_467(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_468_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_468(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_480_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_480(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_481_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_481(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_482_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_482(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_483_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_483(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_484_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_484(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_496_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_496(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_497_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_497(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_498_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_498(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_499_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_499(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_500_short_v2(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x2_500(_QWORD@<x2>);\nvoid __usercall _hwasan_check_x3_0_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_0(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_1_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_1(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_2_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_3_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_3(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_4_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_4(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_16_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_16(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_17_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_17(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_18_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_18(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_19_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_19(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_20_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_20(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_32_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_32(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_33_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_33(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_34_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_34(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_35_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_35(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_36_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_36(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_48_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_48(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_49_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_49(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_50_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_50(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_51_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_51(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_52_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_52(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_64_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_64(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_65_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_65(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_66_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_66(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_67_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_67(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_68_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_68(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_80_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_80(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_81_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_81(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_82_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_82(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_83_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_83(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_84_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_84(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_96_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_96(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_97_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_97(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_98_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_98(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_99_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_99(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_100_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_100(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_112_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_112(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_113_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_113(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_114_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_114(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_115_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_115(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_116_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_116(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_128_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_128(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_129_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_129(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_130_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_130(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_131_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_131(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_132_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_132(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_144_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_144(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_145_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_145(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_146_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_146(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_147_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_147(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_148_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_148(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_160_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_160(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_161_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_161(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_162_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_162(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_163_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_163(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_164_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_164(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_176_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_176(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_177_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_177(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_178_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_178(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_179_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_179(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_180_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_180(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_192_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_192(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_193_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_193(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_194_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_194(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_195_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_195(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_196_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_196(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_208_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_208(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_209_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_209(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_210_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_210(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_211_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_211(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_212_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_212(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_224_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_224(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_225_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_225(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_226_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_226(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_227_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_227(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_228_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_228(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_240_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_240(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_241_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_241(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_242_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_242(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_243_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_243(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_244_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_244(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_256_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_256(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_257_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_257(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_258_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_258(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_259_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_259(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_260_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_260(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_272_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_272(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_273_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_273(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_274_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_274(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_275_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_275(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_276_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_276(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_288_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_288(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_289_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_289(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_290_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_290(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_291_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_291(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_292_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_292(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_304_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_304(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_305_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_305(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_306_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_306(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_307_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_307(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_308_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_308(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_320_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_320(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_321_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_321(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_322_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_322(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_323_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_323(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_324_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_324(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_336_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_336(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_337_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_337(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_338_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_338(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_339_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_339(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_340_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_340(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_352_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_352(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_353_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_353(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_354_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_354(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_355_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_355(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_356_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_356(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_368_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_368(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_369_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_369(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_370_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_370(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_371_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_371(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_372_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_372(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_384_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_384(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_385_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_385(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_386_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_386(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_387_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_387(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_388_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_388(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_400_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_400(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_401_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_401(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_402_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_402(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_403_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_403(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_404_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_404(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_416_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_416(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_417_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_417(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_418_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_418(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_419_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_419(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_420_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_420(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_432_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_432(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_433_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_433(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_434_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_434(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_435_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_435(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_436_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_436(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_448_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_448(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_449_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_449(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_450_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_450(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_451_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_451(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_452_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_452(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_464_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_464(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_465_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_465(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_466_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_466(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_467_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_467(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_468_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_468(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_480_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_480(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_481_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_481(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_482_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_482(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_483_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_483(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_484_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_484(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_496_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_496(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_497_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_497(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_498_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_498(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_499_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_499(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_500_short_v2(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x3_500(_QWORD@<x3>);\nvoid __usercall _hwasan_check_x4_0_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_0(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_1_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_1(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_2_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_3_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_3(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_4_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_4(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_16_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_16(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_17_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_17(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_18_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_18(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_19_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_19(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_20_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_20(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_32_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_32(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_33_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_33(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_34_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_34(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_35_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_35(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_36_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_36(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_48_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_48(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_49_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_49(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_50_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_50(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_51_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_51(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_52_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_52(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_64_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_64(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_65_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_65(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_66_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_66(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_67_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_67(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_68_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_68(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_80_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_80(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_81_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_81(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_82_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_82(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_83_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_83(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_84_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_84(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_96_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_96(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_97_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_97(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_98_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_98(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_99_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_99(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_100_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_100(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_112_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_112(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_113_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_113(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_114_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_114(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_115_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_115(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_116_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_116(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_128_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_128(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_129_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_129(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_130_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_130(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_131_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_131(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_132_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_132(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_144_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_144(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_145_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_145(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_146_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_146(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_147_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_147(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_148_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_148(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_160_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_160(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_161_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_161(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_162_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_162(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_163_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_163(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_164_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_164(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_176_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_176(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_177_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_177(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_178_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_178(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_179_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_179(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_180_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_180(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_192_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_192(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_193_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_193(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_194_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_194(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_195_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_195(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_196_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_196(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_208_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_208(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_209_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_209(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_210_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_210(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_211_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_211(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_212_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_212(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_224_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_224(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_225_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_225(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_226_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_226(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_227_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_227(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_228_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_228(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_240_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_240(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_241_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_241(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_242_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_242(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_243_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_243(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_244_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_244(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_256_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_256(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_257_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_257(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_258_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_258(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_259_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_259(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_260_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_260(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_272_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_272(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_273_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_273(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_274_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_274(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_275_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_275(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_276_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_276(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_288_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_288(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_289_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_289(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_290_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_290(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_291_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_291(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_292_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_292(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_304_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_304(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_305_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_305(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_306_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_306(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_307_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_307(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_308_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_308(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_320_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_320(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_321_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_321(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_322_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_322(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_323_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_323(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_324_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_324(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_336_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_336(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_337_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_337(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_338_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_338(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_339_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_339(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_340_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_340(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_352_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_352(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_353_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_353(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_354_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_354(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_355_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_355(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_356_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_356(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_368_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_368(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_369_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_369(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_370_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_370(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_371_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_371(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_372_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_372(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_384_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_384(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_385_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_385(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_386_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_386(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_387_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_387(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_388_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_388(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_400_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_400(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_401_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_401(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_402_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_402(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_403_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_403(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_404_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_404(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_416_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_416(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_417_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_417(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_418_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_418(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_419_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_419(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_420_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_420(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_432_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_432(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_433_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_433(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_434_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_434(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_435_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_435(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_436_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_436(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_448_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_448(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_449_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_449(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_450_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_450(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_451_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_451(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_452_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_452(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_464_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_464(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_465_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_465(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_466_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_466(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_467_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_467(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_468_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_468(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_480_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_480(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_481_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_481(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_482_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_482(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_483_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_483(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_484_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_484(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_496_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_496(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_497_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_497(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_498_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_498(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_499_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_499(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_500_short_v2(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x4_500(_QWORD@<x4>);\nvoid __usercall _hwasan_check_x5_0_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_0(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_1_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_1(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_2_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_3_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_3(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_4_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_4(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_16_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_16(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_17_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_17(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_18_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_18(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_19_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_19(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_20_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_20(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_32_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_32(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_33_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_33(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_34_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_34(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_35_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_35(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_36_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_36(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_48_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_48(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_49_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_49(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_50_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_50(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_51_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_51(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_52_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_52(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_64_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_64(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_65_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_65(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_66_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_66(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_67_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_67(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_68_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_68(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_80_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_80(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_81_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_81(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_82_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_82(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_83_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_83(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_84_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_84(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_96_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_96(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_97_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_97(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_98_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_98(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_99_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_99(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_100_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_100(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_112_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_112(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_113_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_113(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_114_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_114(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_115_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_115(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_116_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_116(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_128_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_128(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_129_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_129(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_130_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_130(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_131_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_131(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_132_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_132(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_144_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_144(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_145_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_145(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_146_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_146(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_147_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_147(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_148_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_148(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_160_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_160(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_161_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_161(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_162_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_162(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_163_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_163(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_164_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_164(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_176_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_176(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_177_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_177(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_178_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_178(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_179_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_179(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_180_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_180(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_192_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_192(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_193_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_193(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_194_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_194(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_195_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_195(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_196_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_196(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_208_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_208(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_209_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_209(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_210_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_210(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_211_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_211(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_212_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_212(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_224_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_224(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_225_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_225(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_226_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_226(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_227_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_227(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_228_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_228(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_240_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_240(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_241_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_241(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_242_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_242(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_243_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_243(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_244_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_244(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_256_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_256(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_257_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_257(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_258_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_258(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_259_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_259(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_260_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_260(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_272_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_272(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_273_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_273(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_274_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_274(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_275_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_275(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_276_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_276(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_288_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_288(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_289_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_289(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_290_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_290(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_291_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_291(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_292_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_292(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_304_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_304(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_305_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_305(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_306_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_306(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_307_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_307(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_308_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_308(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_320_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_320(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_321_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_321(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_322_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_322(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_323_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_323(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_324_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_324(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_336_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_336(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_337_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_337(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_338_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_338(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_339_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_339(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_340_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_340(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_352_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_352(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_353_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_353(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_354_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_354(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_355_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_355(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_356_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_356(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_368_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_368(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_369_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_369(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_370_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_370(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_371_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_371(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_372_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_372(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_384_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_384(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_385_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_385(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_386_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_386(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_387_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_387(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_388_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_388(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_400_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_400(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_401_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_401(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_402_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_402(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_403_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_403(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_404_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_404(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_416_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_416(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_417_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_417(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_418_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_418(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_419_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_419(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_420_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_420(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_432_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_432(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_433_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_433(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_434_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_434(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_435_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_435(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_436_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_436(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_448_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_448(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_449_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_449(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_450_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_450(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_451_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_451(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_452_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_452(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_464_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_464(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_465_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_465(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_466_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_466(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_467_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_467(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_468_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_468(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_480_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_480(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_481_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_481(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_482_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_482(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_483_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_483(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_484_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_484(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_496_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_496(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_497_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_497(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_498_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_498(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_499_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_499(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_500_short_v2(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x5_500(_QWORD@<x5>);\nvoid __usercall _hwasan_check_x6_0_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_0(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_1_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_1(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_2_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_3_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_3(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_4_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_4(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_16_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_16(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_17_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_17(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_18_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_18(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_19_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_19(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_20_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_20(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_32_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_32(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_33_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_33(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_34_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_34(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_35_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_35(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_36_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_36(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_48_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_48(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_49_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_49(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_50_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_50(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_51_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_51(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_52_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_52(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_64_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_64(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_65_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_65(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_66_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_66(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_67_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_67(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_68_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_68(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_80_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_80(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_81_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_81(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_82_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_82(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_83_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_83(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_84_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_84(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_96_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_96(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_97_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_97(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_98_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_98(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_99_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_99(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_100_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_100(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_112_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_112(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_113_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_113(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_114_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_114(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_115_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_115(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_116_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_116(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_128_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_128(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_129_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_129(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_130_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_130(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_131_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_131(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_132_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_132(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_144_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_144(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_145_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_145(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_146_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_146(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_147_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_147(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_148_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_148(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_160_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_160(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_161_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_161(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_162_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_162(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_163_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_163(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_164_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_164(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_176_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_176(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_177_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_177(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_178_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_178(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_179_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_179(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_180_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_180(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_192_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_192(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_193_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_193(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_194_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_194(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_195_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_195(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_196_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_196(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_208_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_208(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_209_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_209(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_210_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_210(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_211_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_211(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_212_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_212(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_224_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_224(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_225_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_225(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_226_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_226(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_227_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_227(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_228_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_228(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_240_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_240(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_241_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_241(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_242_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_242(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_243_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_243(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_244_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_244(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_256_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_256(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_257_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_257(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_258_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_258(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_259_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_259(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_260_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_260(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_272_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_272(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_273_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_273(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_274_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_274(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_275_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_275(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_276_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_276(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_288_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_288(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_289_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_289(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_290_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_290(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_291_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_291(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_292_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_292(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_304_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_304(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_305_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_305(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_306_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_306(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_307_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_307(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_308_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_308(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_320_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_320(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_321_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_321(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_322_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_322(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_323_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_323(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_324_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_324(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_336_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_336(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_337_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_337(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_338_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_338(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_339_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_339(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_340_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_340(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_352_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_352(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_353_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_353(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_354_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_354(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_355_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_355(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_356_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_356(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_368_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_368(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_369_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_369(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_370_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_370(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_371_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_371(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_372_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_372(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_384_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_384(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_385_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_385(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_386_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_386(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_387_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_387(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_388_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_388(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_400_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_400(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_401_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_401(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_402_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_402(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_403_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_403(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_404_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_404(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_416_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_416(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_417_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_417(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_418_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_418(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_419_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_419(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_420_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_420(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_432_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_432(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_433_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_433(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_434_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_434(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_435_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_435(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_436_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_436(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_448_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_448(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_449_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_449(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_450_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_450(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_451_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_451(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_452_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_452(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_464_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_464(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_465_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_465(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_466_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_466(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_467_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_467(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_468_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_468(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_480_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_480(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_481_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_481(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_482_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_482(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_483_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_483(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_484_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_484(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_496_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_496(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_497_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_497(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_498_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_498(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_499_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_499(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_500_short_v2(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x6_500(_QWORD@<x6>);\nvoid __usercall _hwasan_check_x7_0_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_0(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_1_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_1(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_2_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_3_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_3(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_4_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_4(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_16_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_16(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_17_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_17(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_18_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_18(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_19_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_19(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_20_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_20(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_32_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_32(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_33_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_33(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_34_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_34(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_35_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_35(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_36_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_36(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_48_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_48(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_49_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_49(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_50_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_50(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_51_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_51(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_52_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_52(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_64_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_64(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_65_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_65(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_66_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_66(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_67_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_67(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_68_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_68(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_80_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_80(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_81_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_81(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_82_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_82(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_83_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_83(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_84_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_84(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_96_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_96(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_97_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_97(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_98_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_98(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_99_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_99(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_100_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_100(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_112_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_112(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_113_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_113(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_114_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_114(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_115_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_115(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_116_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_116(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_128_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_128(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_129_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_129(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_130_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_130(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_131_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_131(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_132_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_132(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_144_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_144(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_145_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_145(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_146_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_146(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_147_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_147(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_148_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_148(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_160_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_160(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_161_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_161(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_162_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_162(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_163_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_163(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_164_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_164(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_176_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_176(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_177_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_177(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_178_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_178(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_179_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_179(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_180_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_180(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_192_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_192(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_193_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_193(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_194_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_194(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_195_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_195(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_196_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_196(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_208_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_208(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_209_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_209(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_210_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_210(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_211_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_211(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_212_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_212(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_224_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_224(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_225_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_225(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_226_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_226(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_227_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_227(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_228_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_228(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_240_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_240(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_241_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_241(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_242_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_242(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_243_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_243(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_244_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_244(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_256_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_256(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_257_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_257(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_258_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_258(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_259_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_259(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_260_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_260(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_272_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_272(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_273_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_273(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_274_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_274(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_275_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_275(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_276_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_276(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_288_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_288(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_289_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_289(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_290_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_290(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_291_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_291(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_292_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_292(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_304_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_304(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_305_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_305(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_306_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_306(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_307_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_307(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_308_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_308(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_320_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_320(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_321_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_321(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_322_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_322(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_323_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_323(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_324_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_324(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_336_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_336(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_337_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_337(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_338_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_338(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_339_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_339(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_340_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_340(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_352_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_352(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_353_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_353(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_354_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_354(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_355_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_355(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_356_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_356(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_368_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_368(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_369_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_369(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_370_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_370(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_371_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_371(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_372_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_372(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_384_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_384(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_385_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_385(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_386_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_386(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_387_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_387(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_388_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_388(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_400_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_400(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_401_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_401(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_402_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_402(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_403_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_403(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_404_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_404(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_416_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_416(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_417_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_417(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_418_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_418(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_419_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_419(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_420_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_420(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_432_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_432(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_433_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_433(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_434_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_434(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_435_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_435(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_436_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_436(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_448_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_448(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_449_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_449(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_450_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_450(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_451_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_451(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_452_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_452(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_464_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_464(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_465_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_465(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_466_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_466(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_467_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_467(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_468_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_468(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_480_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_480(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_481_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_481(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_482_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_482(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_483_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_483(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_484_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_484(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_496_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_496(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_497_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_497(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_498_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_498(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_499_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_499(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_500_short_v2(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x7_500(_QWORD@<x7>);\nvoid __usercall _hwasan_check_x8_0_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_0(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_1_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_1(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_2_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_3_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_3(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_4_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_4(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_16_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_16(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_17_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_17(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_18_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_18(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_19_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_19(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_20_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_20(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_32_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_32(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_33_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_33(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_34_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_34(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_35_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_35(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_36_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_36(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_48_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_48(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_49_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_49(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_50_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_50(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_51_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_51(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_52_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_52(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_64_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_64(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_65_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_65(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_66_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_66(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_67_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_67(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_68_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_68(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_80_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_80(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_81_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_81(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_82_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_82(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_83_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_83(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_84_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_84(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_96_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_96(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_97_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_97(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_98_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_98(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_99_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_99(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_100_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_100(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_112_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_112(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_113_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_113(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_114_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_114(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_115_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_115(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_116_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_116(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_128_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_128(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_129_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_129(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_130_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_130(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_131_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_131(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_132_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_132(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_144_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_144(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_145_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_145(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_146_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_146(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_147_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_147(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_148_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_148(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_160_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_160(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_161_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_161(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_162_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_162(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_163_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_163(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_164_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_164(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_176_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_176(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_177_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_177(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_178_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_178(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_179_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_179(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_180_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_180(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_192_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_192(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_193_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_193(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_194_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_194(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_195_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_195(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_196_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_196(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_208_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_208(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_209_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_209(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_210_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_210(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_211_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_211(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_212_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_212(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_224_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_224(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_225_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_225(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_226_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_226(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_227_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_227(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_228_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_228(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_240_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_240(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_241_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_241(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_242_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_242(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_243_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_243(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_244_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_244(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_256_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_256(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_257_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_257(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_258_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_258(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_259_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_259(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_260_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_260(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_272_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_272(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_273_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_273(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_274_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_274(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_275_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_275(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_276_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_276(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_288_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_288(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_289_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_289(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_290_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_290(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_291_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_291(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_292_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_292(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_304_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_304(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_305_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_305(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_306_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_306(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_307_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_307(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_308_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_308(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_320_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_320(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_321_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_321(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_322_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_322(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_323_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_323(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_324_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_324(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_336_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_336(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_337_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_337(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_338_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_338(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_339_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_339(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_340_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_340(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_352_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_352(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_353_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_353(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_354_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_354(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_355_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_355(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_356_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_356(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_368_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_368(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_369_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_369(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_370_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_370(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_371_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_371(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_372_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_372(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_384_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_384(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_385_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_385(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_386_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_386(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_387_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_387(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_388_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_388(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_400_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_400(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_401_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_401(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_402_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_402(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_403_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_403(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_404_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_404(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_416_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_416(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_417_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_417(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_418_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_418(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_419_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_419(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_420_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_420(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_432_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_432(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_433_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_433(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_434_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_434(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_435_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_435(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_436_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_436(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_448_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_448(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_449_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_449(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_450_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_450(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_451_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_451(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_452_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_452(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_464_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_464(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_465_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_465(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_466_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_466(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_467_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_467(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_468_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_468(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_480_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_480(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_481_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_481(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_482_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_482(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_483_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_483(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_484_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_484(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_496_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_496(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_497_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_497(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_498_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_498(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_499_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_499(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_500_short_v2(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x8_500(_QWORD@<x8>);\nvoid __usercall _hwasan_check_x9_0_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_0(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_1_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_1(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_2_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_3_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_3(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_4_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_4(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_16_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_16(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_17_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_17(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_18_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_18(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_19_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_19(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_20_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_20(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_32_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_32(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_33_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_33(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_34_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_34(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_35_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_35(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_36_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_36(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_48_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_48(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_49_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_49(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_50_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_50(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_51_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_51(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_52_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_52(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_64_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_64(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_65_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_65(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_66_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_66(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_67_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_67(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_68_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_68(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_80_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_80(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_81_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_81(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_82_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_82(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_83_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_83(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_84_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_84(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_96_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_96(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_97_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_97(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_98_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_98(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_99_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_99(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_100_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_100(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_112_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_112(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_113_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_113(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_114_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_114(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_115_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_115(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_116_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_116(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_128_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_128(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_129_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_129(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_130_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_130(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_131_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_131(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_132_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_132(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_144_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_144(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_145_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_145(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_146_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_146(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_147_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_147(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_148_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_148(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_160_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_160(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_161_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_161(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_162_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_162(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_163_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_163(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_164_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_164(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_176_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_176(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_177_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_177(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_178_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_178(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_179_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_179(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_180_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_180(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_192_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_192(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_193_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_193(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_194_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_194(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_195_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_195(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_196_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_196(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_208_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_208(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_209_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_209(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_210_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_210(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_211_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_211(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_212_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_212(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_224_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_224(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_225_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_225(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_226_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_226(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_227_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_227(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_228_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_228(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_240_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_240(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_241_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_241(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_242_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_242(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_243_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_243(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_244_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_244(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_256_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_256(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_257_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_257(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_258_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_258(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_259_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_259(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_260_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_260(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_272_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_272(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_273_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_273(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_274_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_274(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_275_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_275(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_276_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_276(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_288_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_288(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_289_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_289(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_290_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_290(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_291_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_291(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_292_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_292(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_304_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_304(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_305_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_305(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_306_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_306(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_307_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_307(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_308_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_308(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_320_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_320(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_321_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_321(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_322_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_322(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_323_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_323(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_324_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_324(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_336_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_336(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_337_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_337(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_338_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_338(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_339_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_339(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_340_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_340(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_352_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_352(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_353_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_353(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_354_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_354(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_355_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_355(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_356_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_356(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_368_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_368(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_369_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_369(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_370_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_370(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_371_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_371(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_372_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_372(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_384_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_384(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_385_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_385(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_386_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_386(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_387_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_387(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_388_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_388(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_400_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_400(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_401_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_401(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_402_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_402(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_403_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_403(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_404_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_404(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_416_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_416(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_417_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_417(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_418_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_418(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_419_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_419(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_420_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_420(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_432_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_432(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_433_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_433(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_434_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_434(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_435_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_435(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_436_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_436(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_448_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_448(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_449_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_449(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_450_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_450(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_451_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_451(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_452_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_452(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_464_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_464(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_465_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_465(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_466_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_466(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_467_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_467(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_468_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_468(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_480_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_480(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_481_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_481(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_482_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_482(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_483_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_483(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_484_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_484(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_496_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_496(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_497_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_497(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_498_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_498(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_499_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_499(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_500_short_v2(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x9_500(_QWORD@<x9>);\nvoid __usercall _hwasan_check_x10_0_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_0(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_1_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_1(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_2_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_3_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_3(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_4_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_4(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_16_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_16(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_17_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_17(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_18_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_18(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_19_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_19(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_20_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_20(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_32_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_32(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_33_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_33(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_34_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_34(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_35_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_35(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_36_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_36(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_48_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_48(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_49_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_49(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_50_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_50(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_51_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_51(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_52_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_52(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_64_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_64(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_65_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_65(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_66_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_66(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_67_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_67(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_68_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_68(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_80_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_80(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_81_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_81(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_82_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_82(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_83_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_83(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_84_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_84(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_96_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_96(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_97_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_97(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_98_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_98(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_99_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_99(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_100_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_100(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_112_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_112(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_113_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_113(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_114_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_114(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_115_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_115(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_116_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_116(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_128_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_128(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_129_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_129(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_130_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_130(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_131_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_131(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_132_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_132(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_144_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_144(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_145_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_145(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_146_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_146(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_147_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_147(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_148_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_148(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_160_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_160(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_161_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_161(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_162_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_162(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_163_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_163(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_164_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_164(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_176_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_176(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_177_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_177(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_178_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_178(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_179_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_179(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_180_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_180(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_192_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_192(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_193_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_193(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_194_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_194(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_195_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_195(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_196_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_196(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_208_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_208(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_209_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_209(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_210_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_210(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_211_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_211(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_212_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_212(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_224_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_224(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_225_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_225(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_226_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_226(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_227_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_227(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_228_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_228(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_240_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_240(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_241_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_241(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_242_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_242(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_243_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_243(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_244_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_244(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_256_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_256(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_257_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_257(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_258_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_258(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_259_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_259(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_260_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_260(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_272_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_272(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_273_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_273(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_274_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_274(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_275_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_275(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_276_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_276(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_288_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_288(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_289_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_289(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_290_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_290(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_291_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_291(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_292_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_292(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_304_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_304(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_305_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_305(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_306_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_306(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_307_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_307(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_308_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_308(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_320_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_320(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_321_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_321(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_322_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_322(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_323_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_323(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_324_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_324(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_336_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_336(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_337_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_337(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_338_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_338(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_339_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_339(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_340_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_340(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_352_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_352(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_353_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_353(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_354_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_354(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_355_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_355(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_356_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_356(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_368_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_368(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_369_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_369(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_370_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_370(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_371_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_371(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_372_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_372(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_384_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_384(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_385_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_385(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_386_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_386(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_387_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_387(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_388_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_388(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_400_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_400(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_401_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_401(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_402_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_402(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_403_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_403(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_404_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_404(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_416_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_416(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_417_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_417(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_418_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_418(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_419_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_419(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_420_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_420(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_432_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_432(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_433_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_433(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_434_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_434(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_435_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_435(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_436_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_436(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_448_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_448(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_449_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_449(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_450_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_450(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_451_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_451(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_452_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_452(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_464_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_464(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_465_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_465(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_466_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_466(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_467_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_467(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_468_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_468(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_480_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_480(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_481_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_481(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_482_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_482(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_483_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_483(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_484_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_484(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_496_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_496(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_497_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_497(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_498_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_498(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_499_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_499(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_500_short_v2(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x10_500(_QWORD@<x10>);\nvoid __usercall _hwasan_check_x11_0_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_0(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_1_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_1(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_2_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_3_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_3(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_4_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_4(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_16_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_16(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_17_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_17(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_18_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_18(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_19_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_19(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_20_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_20(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_32_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_32(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_33_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_33(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_34_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_34(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_35_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_35(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_36_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_36(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_48_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_48(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_49_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_49(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_50_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_50(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_51_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_51(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_52_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_52(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_64_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_64(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_65_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_65(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_66_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_66(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_67_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_67(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_68_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_68(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_80_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_80(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_81_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_81(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_82_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_82(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_83_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_83(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_84_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_84(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_96_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_96(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_97_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_97(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_98_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_98(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_99_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_99(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_100_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_100(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_112_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_112(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_113_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_113(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_114_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_114(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_115_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_115(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_116_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_116(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_128_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_128(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_129_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_129(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_130_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_130(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_131_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_131(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_132_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_132(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_144_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_144(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_145_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_145(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_146_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_146(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_147_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_147(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_148_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_148(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_160_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_160(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_161_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_161(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_162_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_162(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_163_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_163(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_164_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_164(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_176_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_176(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_177_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_177(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_178_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_178(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_179_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_179(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_180_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_180(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_192_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_192(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_193_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_193(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_194_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_194(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_195_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_195(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_196_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_196(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_208_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_208(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_209_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_209(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_210_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_210(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_211_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_211(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_212_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_212(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_224_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_224(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_225_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_225(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_226_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_226(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_227_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_227(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_228_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_228(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_240_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_240(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_241_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_241(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_242_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_242(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_243_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_243(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_244_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_244(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_256_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_256(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_257_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_257(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_258_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_258(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_259_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_259(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_260_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_260(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_272_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_272(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_273_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_273(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_274_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_274(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_275_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_275(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_276_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_276(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_288_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_288(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_289_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_289(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_290_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_290(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_291_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_291(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_292_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_292(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_304_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_304(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_305_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_305(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_306_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_306(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_307_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_307(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_308_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_308(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_320_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_320(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_321_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_321(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_322_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_322(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_323_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_323(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_324_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_324(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_336_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_336(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_337_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_337(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_338_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_338(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_339_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_339(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_340_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_340(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_352_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_352(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_353_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_353(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_354_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_354(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_355_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_355(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_356_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_356(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_368_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_368(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_369_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_369(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_370_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_370(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_371_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_371(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_372_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_372(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_384_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_384(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_385_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_385(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_386_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_386(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_387_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_387(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_388_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_388(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_400_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_400(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_401_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_401(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_402_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_402(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_403_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_403(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_404_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_404(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_416_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_416(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_417_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_417(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_418_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_418(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_419_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_419(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_420_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_420(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_432_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_432(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_433_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_433(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_434_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_434(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_435_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_435(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_436_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_436(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_448_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_448(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_449_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_449(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_450_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_450(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_451_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_451(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_452_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_452(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_464_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_464(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_465_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_465(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_466_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_466(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_467_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_467(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_468_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_468(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_480_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_480(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_481_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_481(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_482_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_482(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_483_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_483(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_484_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_484(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_496_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_496(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_497_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_497(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_498_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_498(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_499_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_499(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_500_short_v2(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x11_500(_QWORD@<x11>);\nvoid __usercall _hwasan_check_x12_0_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_0(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_1_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_1(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_2_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_3_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_3(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_4_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_4(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_16_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_16(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_17_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_17(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_18_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_18(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_19_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_19(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_20_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_20(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_32_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_32(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_33_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_33(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_34_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_34(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_35_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_35(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_36_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_36(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_48_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_48(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_49_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_49(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_50_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_50(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_51_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_51(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_52_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_52(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_64_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_64(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_65_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_65(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_66_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_66(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_67_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_67(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_68_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_68(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_80_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_80(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_81_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_81(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_82_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_82(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_83_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_83(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_84_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_84(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_96_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_96(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_97_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_97(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_98_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_98(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_99_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_99(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_100_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_100(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_112_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_112(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_113_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_113(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_114_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_114(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_115_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_115(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_116_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_116(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_128_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_128(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_129_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_129(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_130_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_130(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_131_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_131(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_132_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_132(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_144_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_144(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_145_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_145(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_146_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_146(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_147_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_147(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_148_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_148(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_160_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_160(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_161_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_161(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_162_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_162(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_163_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_163(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_164_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_164(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_176_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_176(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_177_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_177(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_178_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_178(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_179_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_179(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_180_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_180(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_192_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_192(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_193_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_193(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_194_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_194(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_195_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_195(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_196_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_196(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_208_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_208(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_209_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_209(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_210_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_210(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_211_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_211(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_212_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_212(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_224_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_224(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_225_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_225(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_226_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_226(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_227_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_227(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_228_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_228(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_240_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_240(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_241_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_241(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_242_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_242(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_243_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_243(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_244_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_244(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_256_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_256(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_257_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_257(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_258_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_258(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_259_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_259(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_260_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_260(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_272_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_272(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_273_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_273(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_274_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_274(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_275_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_275(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_276_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_276(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_288_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_288(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_289_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_289(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_290_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_290(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_291_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_291(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_292_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_292(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_304_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_304(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_305_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_305(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_306_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_306(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_307_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_307(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_308_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_308(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_320_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_320(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_321_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_321(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_322_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_322(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_323_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_323(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_324_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_324(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_336_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_336(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_337_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_337(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_338_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_338(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_339_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_339(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_340_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_340(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_352_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_352(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_353_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_353(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_354_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_354(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_355_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_355(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_356_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_356(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_368_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_368(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_369_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_369(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_370_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_370(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_371_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_371(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_372_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_372(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_384_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_384(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_385_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_385(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_386_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_386(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_387_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_387(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_388_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_388(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_400_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_400(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_401_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_401(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_402_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_402(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_403_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_403(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_404_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_404(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_416_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_416(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_417_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_417(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_418_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_418(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_419_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_419(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_420_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_420(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_432_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_432(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_433_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_433(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_434_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_434(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_435_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_435(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_436_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_436(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_448_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_448(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_449_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_449(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_450_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_450(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_451_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_451(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_452_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_452(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_464_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_464(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_465_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_465(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_466_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_466(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_467_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_467(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_468_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_468(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_480_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_480(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_481_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_481(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_482_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_482(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_483_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_483(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_484_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_484(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_496_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_496(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_497_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_497(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_498_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_498(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_499_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_499(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_500_short_v2(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x12_500(_QWORD@<x12>);\nvoid __usercall _hwasan_check_x13_0_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_0(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_1_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_1(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_2_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_3_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_3(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_4_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_4(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_16_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_16(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_17_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_17(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_18_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_18(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_19_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_19(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_20_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_20(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_32_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_32(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_33_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_33(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_34_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_34(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_35_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_35(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_36_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_36(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_48_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_48(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_49_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_49(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_50_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_50(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_51_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_51(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_52_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_52(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_64_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_64(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_65_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_65(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_66_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_66(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_67_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_67(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_68_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_68(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_80_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_80(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_81_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_81(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_82_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_82(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_83_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_83(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_84_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_84(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_96_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_96(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_97_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_97(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_98_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_98(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_99_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_99(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_100_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_100(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_112_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_112(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_113_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_113(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_114_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_114(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_115_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_115(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_116_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_116(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_128_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_128(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_129_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_129(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_130_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_130(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_131_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_131(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_132_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_132(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_144_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_144(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_145_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_145(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_146_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_146(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_147_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_147(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_148_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_148(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_160_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_160(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_161_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_161(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_162_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_162(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_163_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_163(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_164_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_164(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_176_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_176(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_177_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_177(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_178_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_178(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_179_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_179(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_180_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_180(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_192_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_192(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_193_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_193(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_194_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_194(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_195_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_195(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_196_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_196(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_208_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_208(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_209_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_209(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_210_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_210(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_211_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_211(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_212_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_212(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_224_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_224(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_225_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_225(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_226_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_226(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_227_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_227(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_228_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_228(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_240_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_240(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_241_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_241(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_242_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_242(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_243_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_243(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_244_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_244(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_256_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_256(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_257_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_257(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_258_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_258(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_259_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_259(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_260_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_260(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_272_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_272(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_273_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_273(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_274_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_274(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_275_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_275(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_276_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_276(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_288_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_288(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_289_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_289(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_290_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_290(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_291_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_291(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_292_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_292(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_304_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_304(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_305_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_305(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_306_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_306(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_307_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_307(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_308_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_308(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_320_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_320(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_321_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_321(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_322_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_322(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_323_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_323(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_324_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_324(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_336_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_336(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_337_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_337(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_338_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_338(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_339_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_339(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_340_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_340(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_352_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_352(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_353_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_353(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_354_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_354(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_355_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_355(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_356_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_356(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_368_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_368(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_369_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_369(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_370_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_370(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_371_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_371(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_372_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_372(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_384_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_384(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_385_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_385(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_386_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_386(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_387_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_387(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_388_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_388(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_400_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_400(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_401_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_401(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_402_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_402(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_403_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_403(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_404_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_404(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_416_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_416(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_417_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_417(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_418_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_418(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_419_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_419(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_420_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_420(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_432_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_432(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_433_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_433(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_434_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_434(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_435_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_435(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_436_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_436(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_448_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_448(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_449_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_449(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_450_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_450(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_451_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_451(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_452_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_452(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_464_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_464(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_465_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_465(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_466_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_466(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_467_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_467(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_468_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_468(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_480_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_480(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_481_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_481(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_482_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_482(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_483_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_483(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_484_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_484(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_496_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_496(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_497_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_497(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_498_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_498(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_499_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_499(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_500_short_v2(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x13_500(_QWORD@<x13>);\nvoid __usercall _hwasan_check_x14_0_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_0(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_1_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_1(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_2_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_3_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_3(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_4_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_4(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_16_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_16(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_17_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_17(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_18_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_18(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_19_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_19(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_20_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_20(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_32_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_32(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_33_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_33(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_34_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_34(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_35_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_35(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_36_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_36(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_48_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_48(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_49_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_49(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_50_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_50(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_51_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_51(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_52_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_52(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_64_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_64(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_65_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_65(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_66_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_66(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_67_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_67(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_68_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_68(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_80_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_80(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_81_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_81(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_82_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_82(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_83_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_83(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_84_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_84(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_96_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_96(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_97_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_97(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_98_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_98(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_99_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_99(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_100_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_100(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_112_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_112(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_113_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_113(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_114_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_114(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_115_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_115(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_116_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_116(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_128_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_128(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_129_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_129(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_130_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_130(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_131_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_131(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_132_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_132(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_144_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_144(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_145_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_145(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_146_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_146(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_147_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_147(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_148_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_148(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_160_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_160(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_161_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_161(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_162_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_162(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_163_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_163(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_164_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_164(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_176_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_176(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_177_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_177(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_178_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_178(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_179_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_179(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_180_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_180(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_192_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_192(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_193_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_193(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_194_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_194(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_195_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_195(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_196_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_196(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_208_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_208(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_209_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_209(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_210_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_210(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_211_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_211(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_212_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_212(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_224_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_224(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_225_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_225(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_226_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_226(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_227_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_227(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_228_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_228(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_240_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_240(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_241_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_241(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_242_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_242(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_243_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_243(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_244_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_244(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_256_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_256(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_257_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_257(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_258_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_258(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_259_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_259(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_260_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_260(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_272_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_272(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_273_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_273(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_274_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_274(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_275_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_275(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_276_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_276(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_288_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_288(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_289_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_289(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_290_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_290(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_291_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_291(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_292_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_292(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_304_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_304(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_305_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_305(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_306_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_306(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_307_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_307(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_308_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_308(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_320_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_320(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_321_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_321(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_322_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_322(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_323_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_323(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_324_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_324(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_336_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_336(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_337_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_337(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_338_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_338(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_339_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_339(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_340_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_340(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_352_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_352(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_353_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_353(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_354_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_354(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_355_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_355(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_356_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_356(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_368_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_368(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_369_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_369(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_370_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_370(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_371_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_371(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_372_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_372(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_384_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_384(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_385_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_385(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_386_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_386(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_387_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_387(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_388_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_388(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_400_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_400(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_401_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_401(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_402_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_402(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_403_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_403(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_404_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_404(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_416_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_416(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_417_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_417(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_418_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_418(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_419_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_419(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_420_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_420(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_432_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_432(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_433_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_433(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_434_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_434(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_435_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_435(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_436_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_436(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_448_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_448(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_449_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_449(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_450_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_450(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_451_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_451(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_452_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_452(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_464_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_464(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_465_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_465(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_466_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_466(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_467_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_467(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_468_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_468(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_480_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_480(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_481_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_481(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_482_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_482(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_483_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_483(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_484_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_484(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_496_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_496(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_497_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_497(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_498_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_498(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_499_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_499(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_500_short_v2(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x14_500(_QWORD@<x14>);\nvoid __usercall _hwasan_check_x15_0_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_0(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_1_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_1(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_2_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_3_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_3(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_4_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_4(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_16_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_16(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_17_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_17(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_18_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_18(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_19_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_19(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_20_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_20(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_32_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_32(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_33_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_33(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_34_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_34(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_35_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_35(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_36_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_36(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_48_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_48(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_49_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_49(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_50_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_50(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_51_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_51(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_52_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_52(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_64_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_64(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_65_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_65(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_66_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_66(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_67_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_67(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_68_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_68(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_80_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_80(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_81_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_81(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_82_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_82(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_83_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_83(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_84_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_84(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_96_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_96(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_97_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_97(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_98_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_98(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_99_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_99(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_100_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_100(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_112_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_112(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_113_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_113(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_114_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_114(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_115_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_115(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_116_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_116(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_128_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_128(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_129_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_129(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_130_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_130(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_131_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_131(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_132_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_132(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_144_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_144(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_145_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_145(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_146_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_146(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_147_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_147(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_148_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_148(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_160_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_160(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_161_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_161(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_162_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_162(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_163_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_163(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_164_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_164(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_176_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_176(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_177_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_177(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_178_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_178(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_179_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_179(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_180_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_180(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_192_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_192(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_193_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_193(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_194_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_194(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_195_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_195(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_196_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_196(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_208_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_208(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_209_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_209(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_210_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_210(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_211_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_211(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_212_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_212(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_224_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_224(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_225_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_225(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_226_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_226(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_227_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_227(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_228_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_228(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_240_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_240(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_241_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_241(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_242_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_242(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_243_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_243(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_244_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_244(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_256_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_256(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_257_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_257(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_258_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_258(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_259_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_259(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_260_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_260(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_272_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_272(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_273_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_273(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_274_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_274(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_275_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_275(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_276_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_276(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_288_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_288(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_289_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_289(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_290_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_290(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_291_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_291(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_292_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_292(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_304_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_304(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_305_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_305(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_306_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_306(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_307_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_307(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_308_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_308(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_320_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_320(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_321_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_321(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_322_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_322(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_323_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_323(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_324_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_324(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_336_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_336(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_337_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_337(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_338_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_338(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_339_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_339(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_340_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_340(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_352_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_352(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_353_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_353(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_354_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_354(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_355_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_355(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_356_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_356(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_368_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_368(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_369_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_369(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_370_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_370(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_371_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_371(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_372_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_372(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_384_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_384(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_385_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_385(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_386_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_386(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_387_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_387(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_388_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_388(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_400_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_400(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_401_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_401(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_402_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_402(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_403_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_403(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_404_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_404(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_416_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_416(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_417_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_417(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_418_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_418(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_419_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_419(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_420_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_420(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_432_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_432(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_433_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_433(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_434_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_434(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_435_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_435(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_436_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_436(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_448_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_448(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_449_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_449(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_450_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_450(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_451_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_451(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_452_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_452(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_464_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_464(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_465_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_465(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_466_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_466(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_467_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_467(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_468_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_468(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_480_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_480(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_481_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_481(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_482_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_482(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_483_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_483(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_484_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_484(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_496_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_496(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_497_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_497(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_498_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_498(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_499_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_499(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_500_short_v2(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x15_500(_QWORD@<x15>);\nvoid __usercall _hwasan_check_x16_0_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_0(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_1_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_1(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_2_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_3_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_3(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_4_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_4(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_16_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_16(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_17_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_17(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_18_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_18(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_19_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_19(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_20_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_20(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_32_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_32(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_33_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_33(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_34_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_34(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_35_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_35(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_36_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_36(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_48_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_48(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_49_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_49(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_50_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_50(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_51_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_51(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_52_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_52(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_64_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_64(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_65_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_65(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_66_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_66(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_67_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_67(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_68_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_68(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_80_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_80(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_81_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_81(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_82_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_82(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_83_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_83(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_84_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_84(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_96_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_96(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_97_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_97(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_98_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_98(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_99_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_99(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_100_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_100(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_112_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_112(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_113_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_113(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_114_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_114(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_115_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_115(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_116_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_116(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_128_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_128(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_129_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_129(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_130_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_130(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_131_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_131(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_132_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_132(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_144_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_144(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_145_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_145(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_146_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_146(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_147_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_147(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_148_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_148(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_160_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_160(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_161_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_161(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_162_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_162(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_163_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_163(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_164_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_164(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_176_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_176(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_177_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_177(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_178_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_178(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_179_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_179(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_180_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_180(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_192_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_192(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_193_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_193(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_194_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_194(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_195_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_195(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_196_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_196(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_208_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_208(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_209_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_209(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_210_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_210(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_211_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_211(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_212_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_212(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_224_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_224(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_225_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_225(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_226_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_226(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_227_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_227(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_228_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_228(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_240_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_240(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_241_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_241(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_242_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_242(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_243_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_243(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_244_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_244(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_256_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_256(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_257_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_257(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_258_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_258(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_259_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_259(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_260_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_260(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_272_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_272(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_273_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_273(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_274_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_274(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_275_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_275(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_276_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_276(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_288_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_288(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_289_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_289(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_290_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_290(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_291_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_291(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_292_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_292(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_304_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_304(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_305_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_305(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_306_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_306(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_307_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_307(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_308_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_308(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_320_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_320(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_321_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_321(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_322_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_322(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_323_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_323(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_324_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_324(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_336_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_336(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_337_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_337(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_338_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_338(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_339_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_339(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_340_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_340(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_352_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_352(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_353_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_353(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_354_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_354(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_355_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_355(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_356_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_356(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_368_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_368(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_369_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_369(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_370_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_370(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_371_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_371(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_372_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_372(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_384_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_384(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_385_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_385(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_386_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_386(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_387_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_387(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_388_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_388(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_400_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_400(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_401_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_401(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_402_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_402(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_403_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_403(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_404_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_404(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_416_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_416(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_417_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_417(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_418_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_418(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_419_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_419(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_420_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_420(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_432_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_432(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_433_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_433(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_434_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_434(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_435_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_435(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_436_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_436(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_448_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_448(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_449_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_449(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_450_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_450(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_451_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_451(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_452_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_452(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_464_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_464(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_465_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_465(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_466_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_466(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_467_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_467(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_468_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_468(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_480_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_480(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_481_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_481(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_482_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_482(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_483_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_483(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_484_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_484(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_496_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_496(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_497_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_497(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_498_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_498(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_499_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_499(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_500_short_v2(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x16_500(_QWORD@<x16>);\nvoid __usercall _hwasan_check_x17_0_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_0(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_1_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_1(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_2_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_3_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_3(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_4_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_4(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_16_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_16(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_17_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_17(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_18_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_18(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_19_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_19(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_20_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_20(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_32_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_32(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_33_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_33(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_34_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_34(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_35_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_35(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_36_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_36(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_48_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_48(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_49_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_49(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_50_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_50(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_51_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_51(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_52_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_52(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_64_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_64(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_65_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_65(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_66_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_66(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_67_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_67(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_68_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_68(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_80_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_80(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_81_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_81(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_82_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_82(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_83_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_83(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_84_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_84(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_96_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_96(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_97_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_97(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_98_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_98(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_99_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_99(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_100_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_100(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_112_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_112(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_113_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_113(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_114_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_114(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_115_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_115(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_116_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_116(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_128_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_128(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_129_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_129(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_130_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_130(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_131_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_131(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_132_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_132(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_144_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_144(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_145_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_145(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_146_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_146(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_147_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_147(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_148_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_148(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_160_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_160(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_161_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_161(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_162_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_162(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_163_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_163(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_164_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_164(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_176_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_176(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_177_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_177(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_178_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_178(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_179_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_179(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_180_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_180(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_192_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_192(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_193_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_193(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_194_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_194(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_195_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_195(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_196_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_196(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_208_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_208(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_209_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_209(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_210_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_210(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_211_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_211(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_212_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_212(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_224_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_224(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_225_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_225(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_226_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_226(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_227_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_227(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_228_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_228(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_240_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_240(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_241_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_241(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_242_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_242(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_243_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_243(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_244_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_244(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_256_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_256(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_257_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_257(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_258_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_258(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_259_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_259(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_260_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_260(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_272_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_272(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_273_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_273(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_274_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_274(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_275_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_275(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_276_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_276(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_288_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_288(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_289_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_289(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_290_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_290(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_291_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_291(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_292_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_292(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_304_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_304(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_305_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_305(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_306_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_306(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_307_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_307(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_308_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_308(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_320_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_320(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_321_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_321(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_322_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_322(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_323_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_323(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_324_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_324(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_336_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_336(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_337_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_337(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_338_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_338(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_339_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_339(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_340_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_340(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_352_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_352(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_353_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_353(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_354_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_354(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_355_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_355(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_356_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_356(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_368_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_368(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_369_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_369(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_370_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_370(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_371_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_371(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_372_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_372(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_384_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_384(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_385_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_385(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_386_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_386(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_387_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_387(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_388_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_388(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_400_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_400(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_401_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_401(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_402_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_402(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_403_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_403(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_404_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_404(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_416_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_416(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_417_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_417(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_418_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_418(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_419_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_419(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_420_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_420(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_432_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_432(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_433_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_433(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_434_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_434(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_435_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_435(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_436_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_436(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_448_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_448(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_449_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_449(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_450_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_450(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_451_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_451(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_452_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_452(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_464_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_464(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_465_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_465(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_466_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_466(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_467_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_467(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_468_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_468(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_480_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_480(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_481_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_481(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_482_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_482(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_483_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_483(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_484_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_484(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_496_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_496(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_497_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_497(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_498_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_498(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_499_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_499(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_500_short_v2(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x17_500(_QWORD@<x17>);\nvoid __usercall _hwasan_check_x18_0_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_0(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_1_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_1(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_2_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_3_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_3(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_4_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_4(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_16_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_16(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_17_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_17(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_18_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_18(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_19_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_19(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_20_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_20(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_32_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_32(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_33_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_33(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_34_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_34(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_35_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_35(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_36_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_36(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_48_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_48(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_49_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_49(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_50_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_50(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_51_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_51(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_52_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_52(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_64_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_64(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_65_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_65(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_66_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_66(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_67_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_67(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_68_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_68(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_80_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_80(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_81_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_81(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_82_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_82(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_83_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_83(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_84_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_84(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_96_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_96(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_97_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_97(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_98_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_98(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_99_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_99(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_100_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_100(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_112_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_112(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_113_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_113(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_114_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_114(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_115_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_115(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_116_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_116(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_128_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_128(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_129_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_129(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_130_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_130(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_131_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_131(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_132_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_132(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_144_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_144(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_145_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_145(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_146_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_146(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_147_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_147(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_148_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_148(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_160_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_160(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_161_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_161(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_162_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_162(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_163_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_163(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_164_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_164(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_176_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_176(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_177_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_177(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_178_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_178(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_179_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_179(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_180_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_180(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_192_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_192(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_193_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_193(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_194_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_194(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_195_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_195(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_196_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_196(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_208_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_208(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_209_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_209(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_210_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_210(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_211_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_211(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_212_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_212(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_224_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_224(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_225_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_225(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_226_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_226(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_227_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_227(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_228_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_228(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_240_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_240(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_241_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_241(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_242_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_242(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_243_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_243(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_244_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_244(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_256_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_256(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_257_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_257(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_258_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_258(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_259_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_259(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_260_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_260(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_272_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_272(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_273_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_273(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_274_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_274(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_275_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_275(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_276_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_276(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_288_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_288(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_289_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_289(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_290_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_290(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_291_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_291(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_292_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_292(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_304_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_304(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_305_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_305(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_306_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_306(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_307_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_307(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_308_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_308(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_320_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_320(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_321_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_321(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_322_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_322(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_323_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_323(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_324_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_324(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_336_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_336(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_337_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_337(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_338_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_338(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_339_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_339(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_340_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_340(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_352_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_352(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_353_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_353(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_354_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_354(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_355_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_355(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_356_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_356(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_368_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_368(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_369_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_369(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_370_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_370(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_371_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_371(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_372_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_372(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_384_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_384(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_385_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_385(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_386_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_386(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_387_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_387(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_388_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_388(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_400_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_400(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_401_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_401(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_402_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_402(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_403_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_403(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_404_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_404(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_416_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_416(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_417_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_417(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_418_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_418(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_419_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_419(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_420_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_420(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_432_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_432(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_433_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_433(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_434_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_434(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_435_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_435(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_436_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_436(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_448_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_448(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_449_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_449(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_450_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_450(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_451_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_451(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_452_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_452(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_464_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_464(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_465_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_465(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_466_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_466(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_467_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_467(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_468_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_468(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_480_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_480(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_481_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_481(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_482_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_482(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_483_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_483(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_484_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_484(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_496_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_496(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_497_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_497(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_498_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_498(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_499_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_499(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_500_short_v2(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x18_500(_QWORD@<x18>);\nvoid __usercall _hwasan_check_x19_0_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_0(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_1_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_1(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_2_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_3_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_3(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_4_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_4(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_16_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_16(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_17_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_17(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_18_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_18(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_19_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_19(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_20_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_20(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_32_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_32(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_33_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_33(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_34_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_34(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_35_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_35(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_36_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_36(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_48_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_48(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_49_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_49(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_50_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_50(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_51_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_51(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_52_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_52(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_64_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_64(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_65_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_65(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_66_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_66(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_67_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_67(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_68_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_68(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_80_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_80(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_81_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_81(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_82_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_82(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_83_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_83(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_84_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_84(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_96_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_96(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_97_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_97(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_98_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_98(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_99_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_99(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_100_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_100(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_112_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_112(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_113_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_113(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_114_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_114(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_115_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_115(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_116_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_116(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_128_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_128(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_129_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_129(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_130_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_130(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_131_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_131(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_132_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_132(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_144_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_144(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_145_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_145(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_146_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_146(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_147_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_147(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_148_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_148(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_160_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_160(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_161_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_161(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_162_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_162(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_163_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_163(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_164_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_164(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_176_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_176(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_177_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_177(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_178_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_178(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_179_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_179(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_180_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_180(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_192_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_192(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_193_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_193(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_194_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_194(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_195_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_195(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_196_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_196(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_208_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_208(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_209_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_209(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_210_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_210(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_211_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_211(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_212_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_212(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_224_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_224(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_225_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_225(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_226_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_226(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_227_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_227(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_228_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_228(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_240_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_240(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_241_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_241(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_242_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_242(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_243_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_243(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_244_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_244(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_256_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_256(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_257_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_257(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_258_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_258(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_259_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_259(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_260_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_260(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_272_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_272(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_273_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_273(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_274_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_274(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_275_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_275(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_276_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_276(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_288_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_288(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_289_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_289(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_290_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_290(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_291_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_291(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_292_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_292(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_304_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_304(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_305_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_305(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_306_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_306(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_307_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_307(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_308_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_308(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_320_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_320(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_321_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_321(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_322_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_322(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_323_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_323(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_324_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_324(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_336_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_336(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_337_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_337(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_338_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_338(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_339_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_339(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_340_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_340(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_352_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_352(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_353_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_353(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_354_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_354(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_355_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_355(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_356_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_356(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_368_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_368(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_369_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_369(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_370_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_370(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_371_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_371(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_372_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_372(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_384_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_384(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_385_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_385(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_386_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_386(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_387_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_387(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_388_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_388(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_400_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_400(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_401_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_401(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_402_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_402(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_403_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_403(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_404_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_404(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_416_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_416(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_417_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_417(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_418_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_418(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_419_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_419(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_420_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_420(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_432_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_432(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_433_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_433(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_434_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_434(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_435_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_435(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_436_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_436(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_448_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_448(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_449_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_449(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_450_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_450(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_451_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_451(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_452_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_452(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_464_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_464(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_465_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_465(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_466_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_466(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_467_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_467(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_468_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_468(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_480_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_480(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_481_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_481(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_482_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_482(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_483_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_483(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_484_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_484(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_496_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_496(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_497_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_497(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_498_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_498(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_499_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_499(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_500_short_v2(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x19_500(_QWORD@<x19>);\nvoid __usercall _hwasan_check_x20_0_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_0(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_1_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_1(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_2_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_3_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_3(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_4_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_4(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_16_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_16(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_17_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_17(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_18_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_18(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_19_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_19(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_20_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_20(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_32_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_32(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_33_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_33(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_34_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_34(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_35_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_35(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_36_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_36(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_48_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_48(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_49_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_49(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_50_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_50(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_51_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_51(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_52_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_52(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_64_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_64(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_65_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_65(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_66_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_66(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_67_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_67(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_68_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_68(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_80_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_80(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_81_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_81(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_82_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_82(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_83_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_83(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_84_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_84(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_96_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_96(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_97_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_97(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_98_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_98(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_99_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_99(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_100_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_100(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_112_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_112(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_113_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_113(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_114_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_114(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_115_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_115(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_116_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_116(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_128_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_128(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_129_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_129(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_130_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_130(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_131_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_131(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_132_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_132(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_144_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_144(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_145_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_145(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_146_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_146(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_147_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_147(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_148_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_148(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_160_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_160(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_161_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_161(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_162_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_162(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_163_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_163(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_164_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_164(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_176_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_176(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_177_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_177(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_178_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_178(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_179_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_179(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_180_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_180(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_192_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_192(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_193_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_193(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_194_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_194(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_195_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_195(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_196_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_196(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_208_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_208(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_209_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_209(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_210_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_210(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_211_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_211(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_212_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_212(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_224_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_224(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_225_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_225(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_226_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_226(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_227_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_227(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_228_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_228(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_240_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_240(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_241_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_241(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_242_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_242(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_243_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_243(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_244_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_244(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_256_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_256(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_257_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_257(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_258_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_258(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_259_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_259(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_260_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_260(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_272_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_272(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_273_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_273(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_274_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_274(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_275_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_275(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_276_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_276(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_288_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_288(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_289_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_289(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_290_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_290(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_291_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_291(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_292_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_292(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_304_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_304(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_305_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_305(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_306_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_306(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_307_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_307(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_308_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_308(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_320_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_320(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_321_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_321(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_322_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_322(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_323_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_323(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_324_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_324(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_336_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_336(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_337_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_337(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_338_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_338(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_339_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_339(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_340_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_340(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_352_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_352(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_353_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_353(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_354_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_354(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_355_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_355(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_356_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_356(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_368_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_368(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_369_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_369(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_370_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_370(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_371_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_371(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_372_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_372(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_384_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_384(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_385_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_385(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_386_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_386(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_387_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_387(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_388_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_388(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_400_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_400(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_401_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_401(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_402_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_402(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_403_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_403(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_404_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_404(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_416_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_416(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_417_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_417(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_418_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_418(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_419_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_419(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_420_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_420(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_432_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_432(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_433_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_433(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_434_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_434(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_435_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_435(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_436_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_436(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_448_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_448(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_449_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_449(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_450_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_450(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_451_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_451(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_452_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_452(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_464_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_464(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_465_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_465(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_466_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_466(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_467_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_467(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_468_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_468(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_480_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_480(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_481_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_481(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_482_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_482(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_483_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_483(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_484_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_484(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_496_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_496(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_497_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_497(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_498_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_498(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_499_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_499(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_500_short_v2(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x20_500(_QWORD@<x20>);\nvoid __usercall _hwasan_check_x21_0_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_0(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_1_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_1(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_2_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_3_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_3(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_4_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_4(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_16_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_16(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_17_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_17(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_18_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_18(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_19_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_19(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_20_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_20(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_32_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_32(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_33_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_33(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_34_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_34(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_35_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_35(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_36_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_36(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_48_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_48(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_49_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_49(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_50_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_50(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_51_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_51(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_52_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_52(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_64_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_64(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_65_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_65(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_66_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_66(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_67_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_67(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_68_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_68(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_80_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_80(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_81_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_81(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_82_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_82(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_83_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_83(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_84_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_84(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_96_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_96(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_97_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_97(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_98_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_98(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_99_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_99(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_100_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_100(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_112_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_112(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_113_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_113(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_114_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_114(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_115_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_115(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_116_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_116(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_128_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_128(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_129_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_129(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_130_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_130(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_131_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_131(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_132_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_132(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_144_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_144(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_145_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_145(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_146_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_146(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_147_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_147(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_148_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_148(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_160_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_160(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_161_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_161(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_162_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_162(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_163_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_163(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_164_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_164(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_176_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_176(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_177_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_177(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_178_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_178(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_179_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_179(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_180_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_180(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_192_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_192(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_193_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_193(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_194_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_194(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_195_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_195(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_196_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_196(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_208_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_208(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_209_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_209(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_210_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_210(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_211_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_211(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_212_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_212(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_224_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_224(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_225_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_225(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_226_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_226(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_227_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_227(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_228_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_228(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_240_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_240(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_241_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_241(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_242_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_242(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_243_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_243(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_244_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_244(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_256_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_256(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_257_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_257(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_258_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_258(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_259_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_259(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_260_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_260(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_272_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_272(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_273_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_273(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_274_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_274(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_275_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_275(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_276_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_276(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_288_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_288(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_289_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_289(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_290_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_290(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_291_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_291(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_292_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_292(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_304_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_304(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_305_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_305(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_306_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_306(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_307_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_307(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_308_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_308(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_320_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_320(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_321_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_321(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_322_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_322(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_323_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_323(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_324_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_324(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_336_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_336(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_337_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_337(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_338_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_338(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_339_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_339(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_340_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_340(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_352_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_352(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_353_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_353(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_354_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_354(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_355_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_355(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_356_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_356(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_368_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_368(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_369_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_369(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_370_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_370(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_371_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_371(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_372_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_372(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_384_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_384(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_385_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_385(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_386_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_386(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_387_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_387(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_388_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_388(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_400_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_400(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_401_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_401(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_402_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_402(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_403_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_403(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_404_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_404(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_416_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_416(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_417_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_417(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_418_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_418(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_419_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_419(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_420_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_420(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_432_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_432(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_433_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_433(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_434_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_434(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_435_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_435(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_436_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_436(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_448_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_448(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_449_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_449(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_450_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_450(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_451_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_451(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_452_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_452(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_464_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_464(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_465_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_465(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_466_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_466(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_467_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_467(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_468_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_468(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_480_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_480(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_481_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_481(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_482_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_482(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_483_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_483(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_484_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_484(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_496_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_496(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_497_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_497(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_498_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_498(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_499_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_499(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_500_short_v2(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x21_500(_QWORD@<x21>);\nvoid __usercall _hwasan_check_x22_0_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_0(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_1_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_1(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_2_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_3_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_3(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_4_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_4(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_16_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_16(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_17_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_17(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_18_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_18(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_19_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_19(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_20_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_20(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_32_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_32(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_33_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_33(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_34_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_34(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_35_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_35(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_36_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_36(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_48_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_48(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_49_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_49(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_50_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_50(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_51_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_51(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_52_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_52(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_64_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_64(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_65_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_65(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_66_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_66(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_67_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_67(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_68_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_68(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_80_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_80(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_81_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_81(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_82_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_82(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_83_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_83(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_84_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_84(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_96_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_96(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_97_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_97(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_98_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_98(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_99_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_99(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_100_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_100(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_112_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_112(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_113_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_113(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_114_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_114(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_115_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_115(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_116_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_116(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_128_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_128(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_129_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_129(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_130_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_130(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_131_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_131(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_132_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_132(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_144_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_144(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_145_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_145(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_146_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_146(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_147_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_147(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_148_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_148(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_160_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_160(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_161_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_161(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_162_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_162(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_163_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_163(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_164_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_164(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_176_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_176(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_177_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_177(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_178_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_178(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_179_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_179(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_180_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_180(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_192_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_192(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_193_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_193(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_194_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_194(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_195_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_195(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_196_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_196(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_208_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_208(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_209_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_209(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_210_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_210(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_211_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_211(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_212_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_212(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_224_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_224(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_225_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_225(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_226_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_226(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_227_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_227(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_228_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_228(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_240_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_240(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_241_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_241(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_242_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_242(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_243_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_243(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_244_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_244(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_256_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_256(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_257_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_257(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_258_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_258(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_259_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_259(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_260_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_260(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_272_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_272(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_273_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_273(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_274_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_274(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_275_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_275(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_276_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_276(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_288_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_288(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_289_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_289(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_290_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_290(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_291_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_291(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_292_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_292(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_304_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_304(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_305_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_305(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_306_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_306(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_307_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_307(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_308_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_308(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_320_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_320(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_321_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_321(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_322_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_322(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_323_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_323(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_324_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_324(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_336_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_336(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_337_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_337(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_338_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_338(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_339_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_339(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_340_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_340(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_352_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_352(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_353_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_353(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_354_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_354(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_355_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_355(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_356_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_356(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_368_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_368(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_369_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_369(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_370_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_370(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_371_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_371(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_372_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_372(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_384_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_384(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_385_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_385(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_386_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_386(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_387_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_387(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_388_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_388(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_400_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_400(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_401_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_401(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_402_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_402(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_403_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_403(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_404_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_404(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_416_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_416(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_417_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_417(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_418_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_418(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_419_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_419(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_420_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_420(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_432_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_432(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_433_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_433(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_434_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_434(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_435_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_435(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_436_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_436(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_448_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_448(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_449_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_449(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_450_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_450(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_451_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_451(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_452_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_452(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_464_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_464(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_465_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_465(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_466_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_466(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_467_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_467(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_468_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_468(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_480_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_480(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_481_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_481(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_482_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_482(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_483_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_483(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_484_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_484(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_496_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_496(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_497_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_497(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_498_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_498(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_499_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_499(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_500_short_v2(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x22_500(_QWORD@<x22>);\nvoid __usercall _hwasan_check_x23_0_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_0(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_1_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_1(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_2_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_3_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_3(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_4_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_4(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_16_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_16(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_17_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_17(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_18_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_18(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_19_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_19(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_20_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_20(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_32_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_32(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_33_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_33(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_34_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_34(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_35_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_35(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_36_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_36(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_48_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_48(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_49_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_49(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_50_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_50(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_51_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_51(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_52_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_52(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_64_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_64(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_65_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_65(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_66_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_66(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_67_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_67(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_68_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_68(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_80_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_80(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_81_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_81(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_82_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_82(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_83_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_83(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_84_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_84(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_96_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_96(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_97_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_97(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_98_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_98(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_99_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_99(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_100_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_100(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_112_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_112(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_113_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_113(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_114_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_114(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_115_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_115(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_116_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_116(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_128_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_128(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_129_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_129(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_130_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_130(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_131_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_131(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_132_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_132(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_144_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_144(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_145_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_145(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_146_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_146(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_147_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_147(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_148_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_148(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_160_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_160(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_161_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_161(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_162_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_162(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_163_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_163(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_164_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_164(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_176_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_176(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_177_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_177(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_178_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_178(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_179_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_179(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_180_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_180(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_192_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_192(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_193_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_193(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_194_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_194(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_195_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_195(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_196_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_196(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_208_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_208(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_209_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_209(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_210_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_210(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_211_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_211(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_212_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_212(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_224_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_224(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_225_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_225(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_226_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_226(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_227_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_227(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_228_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_228(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_240_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_240(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_241_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_241(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_242_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_242(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_243_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_243(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_244_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_244(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_256_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_256(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_257_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_257(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_258_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_258(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_259_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_259(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_260_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_260(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_272_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_272(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_273_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_273(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_274_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_274(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_275_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_275(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_276_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_276(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_288_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_288(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_289_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_289(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_290_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_290(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_291_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_291(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_292_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_292(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_304_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_304(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_305_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_305(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_306_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_306(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_307_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_307(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_308_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_308(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_320_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_320(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_321_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_321(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_322_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_322(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_323_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_323(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_324_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_324(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_336_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_336(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_337_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_337(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_338_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_338(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_339_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_339(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_340_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_340(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_352_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_352(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_353_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_353(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_354_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_354(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_355_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_355(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_356_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_356(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_368_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_368(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_369_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_369(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_370_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_370(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_371_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_371(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_372_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_372(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_384_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_384(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_385_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_385(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_386_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_386(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_387_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_387(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_388_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_388(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_400_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_400(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_401_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_401(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_402_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_402(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_403_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_403(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_404_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_404(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_416_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_416(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_417_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_417(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_418_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_418(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_419_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_419(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_420_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_420(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_432_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_432(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_433_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_433(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_434_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_434(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_435_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_435(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_436_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_436(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_448_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_448(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_449_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_449(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_450_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_450(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_451_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_451(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_452_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_452(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_464_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_464(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_465_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_465(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_466_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_466(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_467_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_467(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_468_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_468(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_480_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_480(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_481_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_481(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_482_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_482(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_483_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_483(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_484_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_484(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_496_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_496(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_497_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_497(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_498_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_498(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_499_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_499(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_500_short_v2(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x23_500(_QWORD@<x23>);\nvoid __usercall _hwasan_check_x24_0_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_0(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_1_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_1(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_2_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_3_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_3(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_4_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_4(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_16_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_16(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_17_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_17(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_18_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_18(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_19_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_19(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_20_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_20(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_32_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_32(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_33_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_33(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_34_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_34(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_35_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_35(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_36_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_36(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_48_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_48(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_49_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_49(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_50_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_50(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_51_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_51(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_52_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_52(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_64_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_64(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_65_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_65(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_66_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_66(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_67_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_67(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_68_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_68(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_80_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_80(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_81_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_81(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_82_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_82(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_83_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_83(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_84_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_84(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_96_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_96(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_97_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_97(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_98_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_98(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_99_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_99(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_100_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_100(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_112_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_112(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_113_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_113(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_114_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_114(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_115_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_115(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_116_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_116(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_128_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_128(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_129_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_129(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_130_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_130(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_131_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_131(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_132_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_132(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_144_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_144(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_145_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_145(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_146_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_146(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_147_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_147(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_148_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_148(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_160_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_160(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_161_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_161(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_162_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_162(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_163_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_163(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_164_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_164(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_176_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_176(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_177_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_177(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_178_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_178(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_179_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_179(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_180_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_180(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_192_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_192(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_193_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_193(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_194_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_194(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_195_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_195(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_196_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_196(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_208_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_208(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_209_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_209(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_210_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_210(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_211_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_211(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_212_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_212(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_224_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_224(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_225_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_225(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_226_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_226(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_227_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_227(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_228_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_228(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_240_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_240(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_241_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_241(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_242_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_242(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_243_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_243(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_244_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_244(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_256_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_256(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_257_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_257(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_258_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_258(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_259_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_259(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_260_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_260(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_272_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_272(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_273_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_273(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_274_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_274(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_275_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_275(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_276_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_276(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_288_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_288(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_289_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_289(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_290_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_290(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_291_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_291(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_292_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_292(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_304_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_304(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_305_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_305(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_306_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_306(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_307_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_307(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_308_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_308(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_320_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_320(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_321_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_321(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_322_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_322(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_323_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_323(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_324_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_324(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_336_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_336(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_337_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_337(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_338_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_338(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_339_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_339(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_340_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_340(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_352_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_352(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_353_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_353(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_354_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_354(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_355_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_355(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_356_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_356(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_368_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_368(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_369_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_369(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_370_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_370(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_371_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_371(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_372_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_372(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_384_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_384(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_385_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_385(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_386_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_386(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_387_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_387(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_388_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_388(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_400_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_400(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_401_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_401(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_402_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_402(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_403_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_403(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_404_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_404(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_416_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_416(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_417_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_417(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_418_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_418(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_419_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_419(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_420_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_420(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_432_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_432(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_433_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_433(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_434_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_434(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_435_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_435(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_436_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_436(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_448_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_448(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_449_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_449(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_450_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_450(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_451_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_451(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_452_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_452(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_464_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_464(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_465_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_465(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_466_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_466(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_467_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_467(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_468_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_468(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_480_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_480(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_481_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_481(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_482_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_482(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_483_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_483(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_484_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_484(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_496_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_496(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_497_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_497(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_498_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_498(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_499_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_499(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_500_short_v2(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x24_500(_QWORD@<x24>);\nvoid __usercall _hwasan_check_x25_0_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_0(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_1_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_1(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_2_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_3_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_3(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_4_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_4(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_16_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_16(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_17_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_17(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_18_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_18(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_19_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_19(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_20_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_20(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_32_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_32(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_33_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_33(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_34_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_34(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_35_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_35(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_36_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_36(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_48_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_48(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_49_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_49(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_50_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_50(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_51_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_51(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_52_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_52(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_64_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_64(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_65_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_65(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_66_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_66(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_67_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_67(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_68_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_68(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_80_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_80(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_81_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_81(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_82_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_82(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_83_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_83(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_84_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_84(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_96_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_96(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_97_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_97(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_98_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_98(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_99_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_99(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_100_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_100(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_112_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_112(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_113_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_113(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_114_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_114(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_115_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_115(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_116_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_116(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_128_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_128(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_129_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_129(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_130_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_130(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_131_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_131(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_132_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_132(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_144_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_144(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_145_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_145(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_146_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_146(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_147_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_147(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_148_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_148(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_160_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_160(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_161_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_161(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_162_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_162(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_163_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_163(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_164_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_164(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_176_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_176(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_177_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_177(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_178_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_178(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_179_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_179(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_180_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_180(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_192_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_192(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_193_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_193(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_194_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_194(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_195_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_195(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_196_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_196(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_208_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_208(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_209_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_209(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_210_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_210(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_211_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_211(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_212_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_212(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_224_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_224(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_225_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_225(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_226_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_226(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_227_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_227(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_228_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_228(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_240_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_240(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_241_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_241(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_242_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_242(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_243_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_243(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_244_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_244(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_256_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_256(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_257_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_257(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_258_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_258(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_259_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_259(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_260_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_260(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_272_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_272(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_273_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_273(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_274_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_274(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_275_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_275(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_276_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_276(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_288_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_288(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_289_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_289(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_290_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_290(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_291_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_291(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_292_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_292(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_304_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_304(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_305_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_305(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_306_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_306(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_307_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_307(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_308_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_308(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_320_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_320(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_321_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_321(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_322_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_322(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_323_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_323(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_324_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_324(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_336_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_336(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_337_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_337(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_338_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_338(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_339_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_339(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_340_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_340(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_352_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_352(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_353_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_353(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_354_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_354(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_355_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_355(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_356_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_356(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_368_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_368(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_369_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_369(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_370_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_370(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_371_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_371(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_372_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_372(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_384_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_384(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_385_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_385(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_386_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_386(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_387_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_387(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_388_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_388(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_400_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_400(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_401_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_401(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_402_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_402(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_403_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_403(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_404_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_404(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_416_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_416(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_417_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_417(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_418_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_418(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_419_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_419(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_420_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_420(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_432_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_432(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_433_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_433(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_434_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_434(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_435_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_435(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_436_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_436(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_448_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_448(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_449_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_449(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_450_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_450(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_451_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_451(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_452_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_452(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_464_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_464(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_465_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_465(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_466_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_466(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_467_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_467(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_468_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_468(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_480_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_480(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_481_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_481(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_482_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_482(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_483_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_483(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_484_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_484(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_496_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_496(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_497_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_497(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_498_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_498(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_499_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_499(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_500_short_v2(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x25_500(_QWORD@<x25>);\nvoid __usercall _hwasan_check_x26_0_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_0(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_1_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_1(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_2_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_3_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_3(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_4_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_4(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_16_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_16(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_17_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_17(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_18_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_18(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_19_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_19(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_20_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_20(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_32_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_32(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_33_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_33(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_34_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_34(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_35_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_35(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_36_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_36(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_48_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_48(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_49_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_49(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_50_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_50(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_51_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_51(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_52_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_52(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_64_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_64(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_65_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_65(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_66_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_66(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_67_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_67(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_68_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_68(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_80_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_80(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_81_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_81(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_82_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_82(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_83_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_83(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_84_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_84(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_96_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_96(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_97_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_97(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_98_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_98(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_99_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_99(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_100_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_100(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_112_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_112(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_113_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_113(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_114_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_114(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_115_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_115(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_116_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_116(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_128_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_128(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_129_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_129(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_130_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_130(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_131_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_131(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_132_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_132(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_144_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_144(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_145_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_145(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_146_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_146(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_147_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_147(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_148_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_148(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_160_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_160(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_161_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_161(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_162_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_162(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_163_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_163(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_164_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_164(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_176_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_176(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_177_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_177(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_178_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_178(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_179_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_179(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_180_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_180(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_192_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_192(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_193_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_193(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_194_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_194(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_195_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_195(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_196_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_196(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_208_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_208(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_209_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_209(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_210_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_210(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_211_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_211(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_212_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_212(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_224_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_224(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_225_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_225(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_226_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_226(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_227_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_227(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_228_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_228(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_240_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_240(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_241_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_241(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_242_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_242(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_243_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_243(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_244_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_244(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_256_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_256(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_257_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_257(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_258_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_258(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_259_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_259(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_260_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_260(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_272_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_272(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_273_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_273(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_274_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_274(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_275_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_275(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_276_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_276(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_288_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_288(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_289_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_289(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_290_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_290(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_291_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_291(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_292_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_292(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_304_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_304(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_305_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_305(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_306_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_306(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_307_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_307(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_308_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_308(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_320_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_320(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_321_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_321(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_322_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_322(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_323_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_323(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_324_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_324(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_336_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_336(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_337_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_337(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_338_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_338(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_339_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_339(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_340_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_340(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_352_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_352(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_353_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_353(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_354_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_354(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_355_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_355(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_356_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_356(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_368_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_368(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_369_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_369(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_370_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_370(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_371_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_371(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_372_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_372(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_384_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_384(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_385_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_385(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_386_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_386(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_387_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_387(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_388_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_388(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_400_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_400(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_401_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_401(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_402_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_402(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_403_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_403(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_404_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_404(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_416_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_416(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_417_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_417(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_418_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_418(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_419_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_419(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_420_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_420(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_432_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_432(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_433_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_433(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_434_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_434(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_435_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_435(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_436_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_436(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_448_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_448(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_449_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_449(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_450_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_450(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_451_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_451(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_452_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_452(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_464_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_464(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_465_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_465(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_466_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_466(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_467_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_467(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_468_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_468(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_480_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_480(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_481_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_481(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_482_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_482(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_483_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_483(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_484_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_484(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_496_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_496(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_497_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_497(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_498_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_498(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_499_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_499(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_500_short_v2(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x26_500(_QWORD@<x26>);\nvoid __usercall _hwasan_check_x27_0_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_0(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_1_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_1(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_2_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_3_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_3(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_4_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_4(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_16_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_16(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_17_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_17(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_18_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_18(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_19_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_19(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_20_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_20(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_32_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_32(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_33_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_33(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_34_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_34(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_35_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_35(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_36_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_36(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_48_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_48(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_49_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_49(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_50_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_50(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_51_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_51(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_52_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_52(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_64_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_64(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_65_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_65(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_66_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_66(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_67_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_67(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_68_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_68(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_80_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_80(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_81_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_81(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_82_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_82(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_83_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_83(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_84_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_84(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_96_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_96(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_97_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_97(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_98_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_98(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_99_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_99(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_100_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_100(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_112_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_112(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_113_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_113(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_114_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_114(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_115_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_115(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_116_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_116(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_128_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_128(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_129_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_129(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_130_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_130(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_131_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_131(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_132_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_132(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_144_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_144(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_145_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_145(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_146_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_146(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_147_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_147(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_148_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_148(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_160_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_160(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_161_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_161(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_162_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_162(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_163_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_163(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_164_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_164(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_176_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_176(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_177_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_177(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_178_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_178(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_179_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_179(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_180_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_180(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_192_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_192(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_193_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_193(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_194_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_194(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_195_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_195(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_196_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_196(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_208_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_208(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_209_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_209(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_210_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_210(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_211_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_211(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_212_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_212(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_224_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_224(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_225_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_225(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_226_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_226(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_227_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_227(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_228_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_228(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_240_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_240(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_241_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_241(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_242_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_242(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_243_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_243(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_244_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_244(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_256_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_256(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_257_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_257(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_258_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_258(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_259_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_259(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_260_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_260(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_272_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_272(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_273_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_273(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_274_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_274(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_275_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_275(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_276_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_276(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_288_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_288(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_289_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_289(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_290_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_290(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_291_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_291(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_292_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_292(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_304_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_304(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_305_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_305(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_306_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_306(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_307_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_307(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_308_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_308(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_320_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_320(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_321_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_321(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_322_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_322(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_323_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_323(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_324_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_324(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_336_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_336(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_337_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_337(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_338_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_338(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_339_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_339(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_340_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_340(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_352_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_352(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_353_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_353(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_354_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_354(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_355_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_355(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_356_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_356(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_368_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_368(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_369_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_369(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_370_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_370(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_371_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_371(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_372_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_372(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_384_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_384(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_385_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_385(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_386_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_386(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_387_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_387(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_388_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_388(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_400_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_400(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_401_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_401(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_402_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_402(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_403_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_403(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_404_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_404(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_416_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_416(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_417_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_417(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_418_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_418(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_419_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_419(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_420_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_420(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_432_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_432(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_433_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_433(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_434_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_434(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_435_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_435(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_436_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_436(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_448_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_448(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_449_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_449(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_450_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_450(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_451_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_451(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_452_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_452(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_464_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_464(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_465_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_465(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_466_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_466(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_467_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_467(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_468_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_468(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_480_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_480(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_481_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_481(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_482_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_482(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_483_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_483(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_484_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_484(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_496_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_496(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_497_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_497(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_498_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_498(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_499_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_499(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_500_short_v2(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x27_500(_QWORD@<x27>);\nvoid __usercall _hwasan_check_x28_0_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_0(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_1_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_1(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_2_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_3_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_3(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_4_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_4(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_16_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_16(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_17_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_17(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_18_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_18(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_19_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_19(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_20_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_20(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_32_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_32(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_33_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_33(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_34_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_34(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_35_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_35(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_36_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_36(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_48_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_48(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_49_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_49(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_50_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_50(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_51_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_51(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_52_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_52(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_64_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_64(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_65_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_65(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_66_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_66(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_67_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_67(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_68_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_68(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_80_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_80(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_81_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_81(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_82_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_82(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_83_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_83(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_84_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_84(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_96_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_96(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_97_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_97(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_98_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_98(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_99_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_99(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_100_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_100(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_112_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_112(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_113_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_113(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_114_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_114(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_115_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_115(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_116_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_116(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_128_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_128(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_129_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_129(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_130_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_130(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_131_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_131(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_132_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_132(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_144_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_144(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_145_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_145(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_146_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_146(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_147_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_147(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_148_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_148(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_160_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_160(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_161_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_161(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_162_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_162(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_163_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_163(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_164_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_164(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_176_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_176(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_177_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_177(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_178_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_178(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_179_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_179(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_180_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_180(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_192_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_192(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_193_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_193(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_194_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_194(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_195_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_195(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_196_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_196(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_208_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_208(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_209_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_209(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_210_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_210(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_211_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_211(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_212_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_212(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_224_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_224(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_225_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_225(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_226_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_226(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_227_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_227(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_228_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_228(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_240_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_240(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_241_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_241(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_242_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_242(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_243_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_243(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_244_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_244(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_256_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_256(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_257_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_257(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_258_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_258(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_259_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_259(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_260_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_260(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_272_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_272(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_273_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_273(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_274_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_274(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_275_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_275(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_276_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_276(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_288_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_288(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_289_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_289(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_290_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_290(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_291_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_291(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_292_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_292(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_304_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_304(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_305_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_305(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_306_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_306(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_307_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_307(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_308_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_308(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_320_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_320(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_321_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_321(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_322_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_322(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_323_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_323(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_324_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_324(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_336_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_336(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_337_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_337(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_338_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_338(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_339_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_339(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_340_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_340(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_352_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_352(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_353_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_353(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_354_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_354(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_355_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_355(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_356_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_356(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_368_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_368(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_369_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_369(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_370_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_370(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_371_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_371(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_372_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_372(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_384_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_384(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_385_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_385(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_386_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_386(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_387_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_387(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_388_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_388(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_400_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_400(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_401_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_401(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_402_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_402(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_403_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_403(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_404_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_404(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_416_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_416(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_417_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_417(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_418_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_418(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_419_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_419(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_420_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_420(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_432_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_432(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_433_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_433(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_434_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_434(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_435_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_435(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_436_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_436(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_448_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_448(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_449_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_449(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_450_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_450(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_451_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_451(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_452_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_452(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_464_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_464(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_465_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_465(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_466_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_466(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_467_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_467(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_468_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_468(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_480_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_480(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_481_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_481(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_482_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_482(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_483_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_483(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_484_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_484(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_496_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_496(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_497_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_497(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_498_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_498(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_499_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_499(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_500_short_v2(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x28_500(_QWORD@<x28>);\nvoid __usercall _hwasan_check_x29_0_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_0(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_1_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_1(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_2_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_3_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_3(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_4_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_4(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_16_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_16(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_17_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_17(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_18_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_18(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_19_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_19(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_20_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_20(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_32_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_32(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_33_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_33(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_34_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_34(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_35_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_35(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_36_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_36(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_48_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_48(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_49_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_49(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_50_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_50(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_51_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_51(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_52_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_52(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_64_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_64(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_65_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_65(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_66_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_66(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_67_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_67(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_68_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_68(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_80_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_80(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_81_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_81(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_82_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_82(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_83_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_83(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_84_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_84(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_96_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_96(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_97_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_97(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_98_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_98(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_99_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_99(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_100_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_100(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_112_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_112(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_113_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_113(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_114_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_114(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_115_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_115(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_116_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_116(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_128_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_128(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_129_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_129(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_130_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_130(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_131_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_131(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_132_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_132(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_144_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_144(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_145_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_145(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_146_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_146(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_147_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_147(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_148_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_148(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_160_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_160(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_161_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_161(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_162_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_162(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_163_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_163(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_164_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_164(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_176_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_176(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_177_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_177(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_178_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_178(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_179_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_179(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_180_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_180(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_192_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_192(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_193_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_193(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_194_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_194(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_195_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_195(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_196_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_196(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_208_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_208(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_209_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_209(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_210_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_210(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_211_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_211(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_212_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_212(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_224_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_224(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_225_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_225(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_226_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_226(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_227_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_227(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_228_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_228(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_240_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_240(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_241_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_241(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_242_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_242(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_243_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_243(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_244_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_244(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_256_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_256(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_257_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_257(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_258_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_258(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_259_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_259(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_260_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_260(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_272_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_272(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_273_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_273(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_274_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_274(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_275_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_275(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_276_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_276(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_288_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_288(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_289_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_289(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_290_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_290(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_291_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_291(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_292_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_292(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_304_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_304(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_305_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_305(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_306_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_306(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_307_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_307(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_308_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_308(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_320_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_320(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_321_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_321(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_322_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_322(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_323_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_323(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_324_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_324(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_336_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_336(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_337_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_337(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_338_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_338(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_339_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_339(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_340_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_340(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_352_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_352(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_353_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_353(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_354_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_354(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_355_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_355(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_356_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_356(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_368_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_368(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_369_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_369(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_370_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_370(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_371_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_371(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_372_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_372(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_384_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_384(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_385_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_385(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_386_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_386(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_387_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_387(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_388_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_388(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_400_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_400(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_401_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_401(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_402_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_402(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_403_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_403(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_404_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_404(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_416_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_416(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_417_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_417(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_418_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_418(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_419_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_419(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_420_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_420(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_432_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_432(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_433_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_433(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_434_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_434(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_435_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_435(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_436_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_436(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_448_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_448(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_449_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_449(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_450_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_450(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_451_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_451(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_452_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_452(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_464_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_464(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_465_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_465(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_466_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_466(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_467_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_467(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_468_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_468(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_480_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_480(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_481_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_481(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_482_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_482(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_483_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_483(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_484_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_484(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_496_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_496(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_497_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_497(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_498_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_498(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_499_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_499(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_500_short_v2(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x29_500(_QWORD@<x29>);\nvoid __usercall _hwasan_check_x30_0_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_0(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_1_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_1(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_2_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_3_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_3(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_4_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_4(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_16_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_16(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_17_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_17(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_18_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_18(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_19_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_19(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_20_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_20(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_32_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_32(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_33_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_33(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_34_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_34(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_35_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_35(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_36_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_36(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_48_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_48(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_49_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_49(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_50_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_50(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_51_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_51(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_52_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_52(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_64_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_64(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_65_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_65(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_66_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_66(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_67_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_67(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_68_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_68(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_80_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_80(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_81_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_81(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_82_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_82(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_83_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_83(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_84_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_84(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_96_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_96(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_97_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_97(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_98_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_98(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_99_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_99(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_100_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_100(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_112_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_112(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_113_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_113(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_114_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_114(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_115_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_115(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_116_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_116(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_128_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_128(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_129_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_129(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_130_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_130(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_131_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_131(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_132_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_132(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_144_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_144(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_145_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_145(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_146_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_146(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_147_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_147(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_148_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_148(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_160_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_160(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_161_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_161(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_162_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_162(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_163_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_163(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_164_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_164(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_176_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_176(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_177_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_177(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_178_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_178(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_179_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_179(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_180_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_180(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_192_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_192(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_193_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_193(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_194_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_194(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_195_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_195(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_196_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_196(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_208_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_208(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_209_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_209(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_210_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_210(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_211_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_211(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_212_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_212(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_224_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_224(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_225_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_225(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_226_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_226(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_227_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_227(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_228_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_228(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_240_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_240(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_241_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_241(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_242_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_242(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_243_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_243(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_244_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_244(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_256_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_256(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_257_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_257(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_258_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_258(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_259_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_259(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_260_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_260(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_272_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_272(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_273_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_273(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_274_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_274(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_275_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_275(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_276_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_276(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_288_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_288(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_289_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_289(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_290_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_290(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_291_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_291(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_292_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_292(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_304_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_304(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_305_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_305(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_306_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_306(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_307_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_307(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_308_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_308(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_320_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_320(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_321_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_321(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_322_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_322(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_323_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_323(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_324_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_324(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_336_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_336(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_337_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_337(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_338_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_338(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_339_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_339(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_340_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_340(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_352_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_352(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_353_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_353(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_354_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_354(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_355_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_355(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_356_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_356(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_368_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_368(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_369_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_369(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_370_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_370(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_371_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_371(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_372_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_372(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_384_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_384(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_385_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_385(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_386_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_386(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_387_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_387(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_388_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_388(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_400_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_400(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_401_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_401(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_402_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_402(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_403_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_403(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_404_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_404(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_416_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_416(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_417_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_417(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_418_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_418(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_419_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_419(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_420_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_420(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_432_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_432(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_433_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_433(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_434_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_434(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_435_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_435(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_436_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_436(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_448_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_448(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_449_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_449(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_450_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_450(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_451_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_451(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_452_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_452(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_464_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_464(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_465_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_465(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_466_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_466(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_467_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_467(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_468_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_468(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_480_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_480(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_481_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_481(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_482_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_482(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_483_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_483(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_484_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_484(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_496_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_496(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_497_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_497(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_498_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_498(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_499_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_499(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_500_short_v2(_QWORD@<x30>);\nvoid __usercall _hwasan_check_x30_500(_QWORD@<x30>);\n"
  },
  {
    "path": "hwaddress-sanitizer/prove_hwasanwrap.smt2",
    "content": "; Proves the validity of the stack ring buffer wrapping logic in\n; HWAddressSanitizer.cpp\n;\n; Run this with z3 (https://github.com/Z3Prover/z3)\n(declare-const ThreadLong (_ BitVec 64))\n(declare-const N (_ BitVec 64))\n(declare-const Size (_ BitVec 64))\n(declare-const Off (_ BitVec 64))\n(declare-const CurrentThreadLong (_ BitVec 64))\n(declare-const NextThreadLong (_ BitVec 64))\n\n(define-fun Step ((ThreadLong (_ BitVec 64))) (_ BitVec 64)\n        (bvand\n            (bvxor\n                (bvshl\n                    (bvashr ThreadLong #x0000000000000038)\n                    #x000000000000000c\n                )\n                #xFFFFFFFFFFFFFFFF\n            )\n            (bvadd ThreadLong #x0000000000000008)\n        )\n)\n\n; Offset is aligned to 8 bytes.\n(assert\n  (=\n    #x0000000000000000\n    (bvand Off #x0000000000000007)\n  )\n)\n; N is between 0 and 6 inclusive.\n(assert (bvuge N #x0000000000000000))\n(assert (bvult N #x0000000000000007))\n; Size is 2**N * 4096\n(assert (= Size (bvmul (bvshl #x0000000000000001 N) #x0000000000001000)))\n; Size in pages is the top byte of ThreadLong\n(assert (= (bvlshr ThreadLong #x0000000000000038) (bvshl #x0000000000000001 N)))\n; ThreadLong is aligned to 2 * size\n(assert\n  (=\n    #x0000000000000000\n    (bvand ThreadLong (bvsub (bvmul Size #x0000000000000002) #x0000000000000001))\n  )\n)\n; Current offset is within range\n(assert (bvult Off Size))\n(assert (= CurrentThreadLong (bvadd ThreadLong Off)))\n(assert (= NextThreadLong (Step CurrentThreadLong)))\n(echo \"sat if OK, for sanity check of possible values\")\n(check-sat)\n(get-model)\n(push)\n\n(assert (not\n  (=\n    NextThreadLong\n    (if (= (bvadd Off #x0000000000000008) Size)\n        ThreadLong\n        (bvadd CurrentThreadLong #x0000000000000008)\n    )\n )\n))\n(echo \"unsat if OK\")\n(check-sat)\n"
  },
  {
    "path": "hwaddress-sanitizer/run_in_qemu_with_lam.sh",
    "content": "#!/bin/bash -eu\n#\n# Runs the given binary inside QEMU, with the Intel LAM feature enabled.  Uses\n# full system mode due to issues with sanitizers in user mode.\n#\n# Usage:  ./run_in_qemu_with_lam.sh binary-to-run [argument]...\n#\n# NOTE:  You also need to ensure the environment variables below point to the\n# necessary prerequisites: qemu-system-x86_64, qemu-img, debian.img,\n# debian.id_rsa, bzImage, and llvm-symbolizer.\n#\n# A working debian.img and debian.id_rsa can be created with the\n# create_qemu_image.sh script in this directory.\n\n# Path to binary to run in QEMU.\nreadonly BINARY_PATH=\"${1}\"\n\n# Arguments to pass the binary inside QEMU.\nreadonly BINARY_ARGS=\"${@:2}\"\n\n# Path from which all prerequisites can be found.\n: ${ROOT:=\"${PWD}\"}\n\n# Path to a qemu-system-x86_64 binary built with LAM support.\n: ${QEMU:=\"${ROOT}/lam_qemu_build/qemu-system-x86_64\"}\n\n# Path to a qemu-img binary.\n: ${QEMU_IMG:=\"${ROOT}/lam_qemu_build/qemu-img\"}\n\n# Path to a raw Debian image configured with SSH.\n: ${IMAGE:=\"${QEMU_IMAGE_DIR}/debian.img\"}\n\n# Path to the SSH key for the root user of the Debian image.\n: ${SSH_KEY:=\"${QEMU_IMAGE_DIR}/debian.id_rsa\"}\n\n# The directory inside the Debian image where tests should run.  Must exist\n# prior to running this script.\n: ${QEMU_WORKSPACE_PATH:=\"/workspace\"}\n\n# Path to a Linux kernel bzImage built with LAM support.\n: ${KERNEL:=\"${ROOT}/lam_linux_build/arch/x86_64/boot/bzImage\"}\n\n# Path to an llvm-symbolizer built with the following config:\n#   cmake -GNinja -DLLVM_BUILD_RUNTIME=OFF -DCMAKE_BUILD_TYPE=Release \\\n#       -DLLVM_STATIC_LINK_CXX_STDLIB=ON ../llvm/\n: ${LLVM_SYMBOLIZER:=\"${ROOT}/llvm_build2_x86_64_lam_qemu/bin/llvm-symbolizer\"}\n\n: ${HWASAN_OPTIONS:=\"\"}\n\nreadonly QEMU_FORCE_KILL_TIMEOUT=3\nreadonly HOST_TMPDIR=\"$(mktemp -d)\"\nreadonly DELTA_IMAGE=\"${HOST_TMPDIR}/delta.qcow2\"\nreadonly SSH_CONTROL_SOCKET=\"${HOST_TMPDIR}/ssh-control-socket\"\nreadonly BINARY_NAME=\"$(basename ${BINARY_PATH})\"\n\nQEMU_PID=\"\"\nSSH_PORT=\"\"\n\nfunction force_kill_qemu_after_timeout {\n  sleep \"${QEMU_FORCE_KILL_TIMEOUT}\"\n  kill -9 \"${QEMU_PID}\" &>/dev/null || true\n}\n\nfunction on_exit {\n  force_kill_qemu_after_timeout &\n  if kill \"${QEMU_PID}\"; then\n    echo \"Waiting for QEMU to shutdown...\" >&2\n    wait \"${QEMU_PID}\" &>/dev/null || true\n  fi\n\n  echo \"Done!\" >&2\n}\n\nfunction run_in_qemu {\n  local command=\"${1}\"\n\n  echo \"Running command in QEMU: ${command}\" >&2\n\n  ssh -p \"${SSH_PORT}\" -S \"${SSH_CONTROL_SOCKET}\" root@localhost \"${command}\"\n}\n\nfunction boot_qemu {\n  # Create a delta image to boot from.\n  \"${QEMU_IMG}\" create -F raw -b \"${IMAGE}\" -f qcow2 \"${DELTA_IMAGE}\"\n\n  echo \"Booting QEMU...\" >&2\n\n  # Try up to 10 random port numbers until one succeeds.\n  for i in {0..10}; do\n    SSH_PORT=\"$(shuf -i 1000-65535 -n 1)\"\n    \"${QEMU}\" -hda \"${DELTA_IMAGE}\" -nographic \\\n      -net \"user,host=10.0.2.10,hostfwd=tcp:127.0.0.1:${SSH_PORT}-:22\" \\\n      -net \"nic,model=e1000\" -machine \"type=q35,accel=tcg\" \\\n      -cpu \"qemu64,+la57,+lam\" -kernel \"${KERNEL}\" \\\n      -append \"root=/dev/sda net.ifnames=0\" -m \"1G\" &>/dev/null &\n    QEMU_PID=$!\n\n    # If QEMU is running, the port number worked.\n    sleep 1\n    ps -p \"${QEMU_PID}\" &>/dev/null && break\n  done\n\n  # Fail fast if QEMU is not running.\n  ps -p \"${QEMU_PID}\" &>/dev/null\n\n  echo \"Waiting for QEMU ssh daemon...\" >&2\n  for i in {0..10}; do\n    sleep 5\n\n    echo \"SSH into VM, try ${i}\" >&2\n\n    # Set up persistent SSH connection for faster command execution inside QEMU.\n    ssh -p \"${SSH_PORT}\" -o \"StrictHostKeyChecking=no\" \\\n        -o \"UserKnownHostsFile=/dev/null\" -o \"ControlPersist=30m\" \\\n        -M -S \"${SSH_CONTROL_SOCKET}\" -i \"${SSH_KEY}\" root@localhost \"echo\" 1>&2 &&\n      break\n  done\n\n  # Fail fast if SSH is not working.\n  run_in_qemu \"echo\" 1>&2 || {\n    echo \"SSH is not ready\" >&2\n    exit 1\n  }\n}\n\nfunction copy_to_qemu {\n  local local_file=\"${1}\"\n  local qemu_dir=\"${2}\"\n\n  scp -P \"${SSH_PORT}\" -o \"ControlPath=${SSH_CONTROL_SOCKET}\" \\\n    \"${local_file}\" \"root@localhost:${qemu_dir}/\"\n}\n\ntrap on_exit EXIT\n\nboot_qemu\n\n# Copy llvm-symbolizer to QEMU.\n[[ -f \"${LLVM_SYMBOLIZER}\" ]] && copy_to_qemu \"${LLVM_SYMBOLIZER}\" \"/usr/bin\"\n\n# Copy binary to QEMU.\nrun_in_qemu \"rm -rf ${QEMU_WORKSPACE_PATH}/*\"\ncopy_to_qemu \"${BINARY_PATH}\" \"${QEMU_WORKSPACE_PATH}\"\n\n# Run binary in QEMU.\nENV=\"HWASAN_OPTIONS=\\\"${HWASAN_OPTIONS}\\\"\"\nrun_in_qemu \"${ENV} ${QEMU_WORKSPACE_PATH}/${BINARY_NAME} ${BINARY_ARGS}\"\n"
  },
  {
    "path": "hwaddress-sanitizer/scan.cc",
    "content": "#include <assert.h>\n#include <regex>\n#include <fstream>\n#include <string>\n#include <set>\n#include <map>\n#include <sys/mman.h>\n\ntypedef unsigned long uptr;\n\nstruct Map {\n  uptr start, end;\n  std::string name;\n  uptr rss, pss;\n  uptr shadow_pages;\n  unsigned prot;\n  Map(uptr start, uptr end, const std::string &p, const std::string &name)\n      : start(start),\n        end(end),\n        name(name),\n        rss(0),\n        pss(0),\n        shadow_pages(0),\n        prot(0) {\n    assert(p[0] == 'r' || p[0] == '-');\n    assert(p[1] == 'w' || p[1] == '-');\n    assert(p[2] == 'x' || p[2] == '-');\n    if (p[0] == 'r')\n      prot |= PROT_READ;\n    if (p[1] == 'w')\n      prot |= PROT_WRITE;\n    if (p[2] == 'x')\n      prot |= PROT_EXEC;\n  }\n};\n\n\nclass PageFlagsReader {\n  std::map<uptr, uptr> flags;\n  FILE *fp;\n\n  void LoadFlags(uptr pfn) {\n    int res = fseek(fp, pfn * 8, SEEK_SET);\n    assert(!res);\n    uptr x;\n    res = fread(&x, 8, 1, fp);\n    assert(res == 1);\n    flags[pfn] = x;\n  }\n\n  uptr GetFlags(uptr pfn) {\n    auto it = flags.find(pfn);\n    if (it == flags.end()) {\n      LoadFlags(pfn);\n      it = flags.find(pfn);\n    }\n    return it->second;\n  }\n\n public:\n  PageFlagsReader() {\n    fp = fopen(\"/proc/kpageflags\", \"rb\");\n    assert(fp);\n  }\n\n  bool IsZeroPage(uptr pfn) {\n    uptr x = GetFlags(pfn);\n    bool zero = (x >> 24) & 1;\n    return zero;\n  }\n};\n\nPageFlagsReader *PFR;\n\nvoid read_maps(int pid, std::vector<Map*> &maps) {\n  std::regex name_regex(\n      \"([01-9a-f]+)-([01-9a-f]+) ([a-z-]{4}) [01-9a-f]+ \"\n      \"[01-9a-f]{2}:[01-9a-f]{2} [01-9a-f]+\\\\s*(.*)?\");\n  std::regex rss_regex(\"Rss:\\\\s+(\\\\d+) kB\");\n  std::regex pss_regex(\"Pss:\\\\s+(\\\\d+) kB\");\n\n  maps.clear();\n  std::string path = \"/proc/\" + std::to_string(pid) + \"/smaps\";\n  std::ifstream smaps(path);\n  std::string line;\n  Map *current = nullptr;\n  while (std::getline(smaps, line)) {\n    std::smatch match;\n    if (std::regex_match(line, match, name_regex)) {\n      assert(match.size() == 5);\n      if (current)\n        maps.push_back(current);\n      uptr start = stoul(match[1].str(), 0, 16);\n      uptr end = stoul(match[2].str(), 0, 16);\n      current = new Map(start, end, match[3], match[4]);\n    } else if (std::regex_match(line, match, rss_regex)) {\n      assert(match.size() == 2);\n      assert(current);\n      current->rss = stoul(match[1].str());\n    } else if (std::regex_match(line, match, pss_regex)) {\n      assert(match.size() == 2);\n      assert(current);\n      current->pss = stoul(match[1].str());\n    }\n  }\n  if (current)\n    maps.push_back(current);\n}\n\nvoid scan(FILE *fp, uptr addr, uptr start_ofs, uptr end_ofs, std::vector<uptr> &resident_pages) {\n  uptr num_resident = 0;\n  int res = fseek(fp, start_ofs, SEEK_SET);\n  assert(!res);\n  constexpr uptr kPfnMask = (((uptr)1) << 54) - 1;\n  std::set<uptr> pfns;\n\n  uptr ofs = start_ofs;\n  constexpr uptr kBufSize = 1024;\n  uptr buf[1024];\n  uptr buf_idx = 0;\n  uptr buf_size = 0;\n  while (ofs < end_ofs) {\n    if (buf_idx >= buf_size) {\n      buf_size = fread(buf, sizeof(uptr), std::min((end_ofs - ofs) / 8, kBufSize), fp);\n      assert(buf_size >= 0);\n      buf_idx = 0;\n    }\n    uptr v = buf[buf_idx];\n    bool resident = (v >> 63) & 1;\n    if (resident) {\n      uptr pfn = v & kPfnMask;\n      if (!PFR->IsZeroPage(pfn)) {\n        ++num_resident;\n        pfns.insert(pfn);\n        resident_pages.push_back(addr);\n      }\n    }\n    ++buf_idx;\n    ofs += 8;\n    addr += 4096;\n  }\n}\n\nvoid scan_pagemap(int pid, std::vector<Map*> &maps, Map *low_shadow, std::vector<uptr> &resident_pages) {\n  std::string pagemap = \"/proc/\" + std::to_string(pid) + \"/pagemap\";\n  FILE *fp = fopen(pagemap.c_str(), \"rb\");\n  assert(fp);\n\n  scan(fp, low_shadow->start, low_shadow->start / 4096 * 8,\n       low_shadow->end / 4096 * 8, resident_pages);\n}\n\nstatic bool compare(const Map* m, uptr v) {\n  return m->end <= v;\n}\n\nMap *find_map(std::vector<Map*> &maps, uptr addr) {\n  auto it = std::lower_bound(maps.begin(), maps.end(), addr, compare);\n  if (it == maps.end())\n    return nullptr;\n  uptr start = (*it)->start;\n  uptr end = (*it)->end;\n  assert(addr < end);\n  if (addr < start)\n    return nullptr;\n  return *it;\n}\n\n// Map resident shadow pages back to user pages, and associate those with user\n// mappings. Make a half-assed attempt to account for user pages that are just\n// outside of a mapping (or within a non-read-write mapping), but still within\n// shadow granularity.\n//\n// Return the number of pages that were not within or nearby an r-or-w mapping.\nuptr do_magic(uptr base, std::vector<Map*> &maps, std::vector<uptr> &resident_shadow_pages) {\n  uptr unallocated = 0;\n  for (uptr shadow : resident_shadow_pages) {\n    uptr user0 = (shadow - base) * 16;\n    uptr unknown_pages = 0;\n    Map *last_map = nullptr;\n    for (uptr x = 0; x < 16; ++x) {\n      uptr user = user0 + x * 4096;\n      Map *m = find_map(maps, user);\n      if (m && (m->prot & (PROT_READ | PROT_WRITE)) == 0) m = nullptr;\n      if (m) {\n        m->shadow_pages += (1 + unknown_pages);\n        unknown_pages = 0;\n        last_map = m;\n      } else if (last_map) {\n        last_map->shadow_pages++;\n      } else {\n        unknown_pages++;\n      }\n    }\n    unallocated += unknown_pages;\n  }\n  return unallocated;\n}\n\nint main(int argc, char **argv) {\n  if (argc < 2) {\n    fprintf(stderr, \"arg required\\n\");\n    return 1;\n  }\n  int pid = atoi(argv[1]);\n\n  PFR = new PageFlagsReader();\n\n  std::vector<Map*> maps;\n  read_maps(pid, maps);\n\n  printf(\"========================================\\n\");\n  printf(\"     start           end       RSS   PSS\\n\");\n  for (auto *map : maps)\n    printf(\"%10lx .. %10lx %c%c%c %5lu %5lu %s\\n\", map->start, map->end,\n           (map->prot & PROT_READ) ? 'r' : '-',\n           (map->prot & PROT_WRITE) ? 'w' : '-',\n           (map->prot & PROT_EXEC) ? 'x' : '-', map->rss, map->pss,\n           map->name.c_str());\n\n  Map *low_shadow = nullptr;\n  Map *high_shadow = nullptr;\n  for (auto *map : maps) {\n    if (map->name == \"[anon:low shadow]\") {\n      low_shadow = map;\n    } else if (map->name == \"[anon:high shadow]\") {\n      high_shadow = map;\n    }\n  }\n\n  if (!low_shadow || !high_shadow) {\n    fprintf(stderr, \"shadow mapping not found\\n\");\n    return 1;\n  }\n\n  printf(\"========================================\\n\");\n  printf(\"Low shadow: %zx .. %zx\\n\", low_shadow->start, low_shadow->end);\n  printf(\"High shadow: %zx .. %zx\\n\", high_shadow->start, high_shadow->end);\n\n  std::vector<uptr> resident_shadow_pages;\n  scan_pagemap(pid, maps, low_shadow, resident_shadow_pages);\n  scan_pagemap(pid, maps, high_shadow, resident_shadow_pages);\n  printf(\"%lu resident shadow pages\\n\", resident_shadow_pages.size());\n\n  uptr base = low_shadow->start;\n  uptr unallocated = do_magic(base, maps, resident_shadow_pages);\n\n  printf(\"==============================================\\n\");\n  printf(\"     start           end      size   RSS  SRSS\\n\");\n  for (auto *map : maps) {\n    if (map->shadow_pages == 0)\n      continue;\n    printf(\"%10lx .. %10lx  %8lu %5lu %5lu %s\\n\", map->start, map->end,\n           (map->end - map->start) / 1024, map->rss,\n           map->shadow_pages * 4096 / 1024, map->name.c_str());\n  }\n\n  printf(\"Shadow RSS: %lu unaccounted, %lu total\\n\", unallocated, resident_shadow_pages.size() * 16);\n}\n"
  },
  {
    "path": "hwaddress-sanitizer/sort_masks.py",
    "content": "from __future__ import print_function\nmasks = [0,   1,   2,   3,   4,   6,   7,   8,   12,  14,  15, 16,  24,\n         28,  30,  31,  32,  48,  56,  60,  62,  63,  64,  96, 112, 120,\n         124, 126, 127, 128, 192, 224, 240, 248, 252, 254]\n\nnew_masks = [0]\n\nfor i in range(0, 35):\n  lowest_num_collisions = None\n  next_mask = None\n  for m1 in masks:\n    if m1 in new_masks:\n      continue\n    num_collisions = 0\n    for m2 in new_masks:\n      for cur in range(0, 256):\n        for next in range(cur + 1, cur + 128):\n          if cur ^ m1 == (next & 255) ^ m2:\n            # Assume that the probability of a bug decreases exponentially\n            # with temporal distance.\n            num_collisions += 1. / pow(2, next - cur)\n    if lowest_num_collisions is None or num_collisions < lowest_num_collisions:\n      lowest_num_collisions = num_collisions\n      next_mask = m1\n  new_masks += [next_mask]\n\nprint(new_masks)\n"
  },
  {
    "path": "mte-dynamic-carveout/README.md",
    "content": "# MTE dynamic carveout resources\n\nThis page is a collection of resources for the MTE dynamic carveout\nproposal.\n\n* [Hardware requirements and operating system design sketch](./spec.md)\n* [Prototype Linux kernel patch](https://github.com/pcc/linux/tree/mte-dynamic)\n* [Prototype QEMU patch](https://github.com/pcc/qemu/tree/mte-dynamic)\n\n## Usage\n\nThe patched QEMU may be instructed to expose the tag storage to\nthe guest, together with the device tree nodes expected by the\npatched kernel, by passing the flag `mte-shared-alloc=on` as part\nof the `-machine` command line argument. For example: `-machine\nvirt,virtualization=on,mte=on,mte-shared-alloc=on`.\n\nAlternatively, when using a custom device tree, specific `memory`\nand `reserved-memory` device tree nodes may be used to activate the\nfeature.\n\n* The `arm,mte-alloc` attribute on a `memory` node indicates that any tag\n  storage for that memory is described by `reserved-memory` nodes with the\n  `compatible = \"arm,mte-tag-storage\"` attribute.\n\n* The `arm,no-mte` attribute on a `memory` node indicates that the\n  memory region is not capable of being mapped with the Tagged Normal\n  attribute. At present this attribute may only be used if the memory\n  region is fully covered by `reserved-memory` nodes with `compatible =\n  \"arm,mte-tag-storage\"`.\n\n* The `storage-base` attribute on a `reserved-memory` node with\n  `compatible = \"arm,mte-tag-storage\"` specifies the physical address of\n  the start of the MTE-capable memory region whose tag storage is described\n  by the `reserved-memory` node.\n\n## Limitations\n\n* This implementation is not compatible with HW tag-based KASAN, nor\n  with KVM with MTE-enabled VMs. If you try to use either of these features,\n  you will probably crash the kernel.\n\n* This implementation has some as-yet-undebugged issues which can cause\n  kernel warnings about invalid page flags during certain memory-intensive\n  operations.\n\n* Automatic migration of pages between the tagged and untagged freelists\n  is not yet implemented.\n"
  },
  {
    "path": "mte-dynamic-carveout/spec.md",
    "content": "# MTE Dynamic tag storage\n\nPeter Collingbourne &lt;[pcc@google.com](mailto:pcc@google.com)>\n\nEvgenii Stepanov &lt;[eugenis@google.com](mailto:eugenis@google.com)>\n\n## Definition\n\nA Tag Block refers to 32 Data Pages together with 1 page of corresponding\ntag storage for the Data Pages (the Tag Page). The number of available Tag\nBlocks for a given DRAM size may be calculated as follows: (DRAM size /\nPage size / 33).\n\n## Goal\n\nThe goal is to allow an operating system running at EL1 to choose at\nruntime whether to use a Tag Block to store untagged data (Data Pages\nand Tag Page mapped as Normal memory) or to store tagged data (Data\nPages mapped as Tagged Normal memory), and to freely switch between them.\n\nIf the hardware meets optional requirements for relocatable Tag Blocks, a\nhypervisor running at EL2 should be able to virtualize Tag Blocks without\nknowing whether EL1 is using the Tag Block for tagged or untagged data.\n\n## Base hardware requirements\n\n1. Clean and invalidate of allocation tags to Point of Coherency (`DC\n   CIGVAC, Xt`) over the Data Pages of a Tag Block followed by clean and\n   invalidate of data to Point of Coherency (`DC CIVAC, Xt`) over the Tag Page,\n   or a similar operation (referred to as a Tag Storage Clean operation),\n   will put the memory system into a state where neither of the following\n   can occur:\n    a. Writeback of cached tags to the Tag Page.\n    b. Writeback of cached data to the Tag Page, if the Tag Page was\n       previously used to store untagged data.\n2. Stores of data to a page mapped as Normal or Tagged Normal do not\n   cause writeback of tags to the corresponding tag storage after a Tag\n   Storage Clean operation.\n3. Allocation tags are stored in regular RAM (not ECC) that can be\n   mapped as Normal. This memory is coherent between CPUs (for regular\n   memory access), but does not need to be coherent with allocation tag\n   operations. If this memory is itself mapped as Tagged Normal (which should\n   not happen!) then tag updates on it either raise a fault or do nothing,\n   but never change the contents of any other page.\n\n## Optional hardware requirements for relocatable Tag Blocks\n\n1. If the Tag Storage Clean operation does not invalidate caches, the\n   tag storage layout must be known.\n2. After a Tag Storage Clean operation, a Tag Block may be copied to\n   a different Tag Block at another PA. The copy operation shall access\n   the memory using regular load and store instructions for both the Data\n   Pages and the Tag Page. If the new Tag Block is mapped as Tagged Normal,\n   the tags read at both locations shall be identical. If the Tag Storage\n   Clean operation does not invalidate caches, the Tag Page data must be\n   restored by writing it twice in order to ensure cache coherency: once via\n   tag stores to the Data Page, and once via data stores to the Tag Page,\n   according to the known tag storage layout.\n\n## Operating system design\n\nThis is a sketch of how operating system software may use the dynamic\ntag storage feature. It assumes a simple freelist-based page allocator.\n\n* The operating system is notified of the location of the tag storage via\n  a new device tree entry or ACPI table entry. From this it may determine\n  the locations of the Tag Blocks. The device tree or ACPI table entry may\n  be ignored by the operating system; this would only mean that it would\n  not be able to use the tag storage for data.\n* The system maintains three freelists: one for untagged pages, one for\n  tagged pages and one for Tag Blocks.\n* At system startup, the freelists for untagged and tagged pages are\n  empty, and the Tag Block freelist contains all available Tag Blocks\n  described by the device tree or ACPI.\n* When a page is needed, the allocator first checks the appropriate page\n  freelist (tagged or untagged). If no pages are available, a Tag Block\n  is taken from the Tag Block freelist and converted into page freelist\n  entries: 32 tagged pages (Data Pages) or 33 untagged pages (Data Pages +\n  Tag Page).\n* If no Tag Blocks are available either, the other page freelist\n  is searched for groups of pages that may be converted into Tag Block\n  freelist entries. Any groups found are removed from the page freelist\n  and added to the Tag Block freelist, after performing a Tag Storage\n  Clean operation on the Tag Block.\n* If that operation fails to create Tag Blocks, we asynchronously\n  start a compaction operation on the other page freelist where pages are\n  consolidated into Tag Blocks, and the newly freed up Tag Blocks are Tag\n  Storage Cleaned and added to the Tag Block freelist.\n* While the compaction is taking place, we can immediately return untagged\n  pages from the tagged freelist. To return a tagged page, we can look\n  through the normal freelist for two pages. One of them must not be a tag\n  page, and the other can be any page. Migrate the first page's tag page\n  (if not free) to the second page, and return the first page.\n* If that operation also fails to create Tag Blocks, it means that we\n  are out of memory and it should be handled like any other OOM condition.\n\n## Hypervisor design\n\nThis describes how a hypervisor may be built on top of a kernel supporting\nthe dynamic tag storage feature.\n\n* A data abort or instruction abort, taken to EL2, in any part of a page,\n  shall result in the allocation of a page from the tagged page freelist to\n  the guest. This allows MTE to be used in the guest, but the underlying\n  Tag Pages would not be exposed, so there would still be memory overhead\n  from the unused Tag Pages, but only for those pages handed to the guest.\n* Donating a page to the guest shall result in the corresponding Tag\n  Page being hidden from the guest via stage 2 page tables. This will not\n  result in the guest losing access to the tags in the other Data Pages\n  in the Tag Block, because accessing tags via tag load/store instructions\n  does not require permission to access the Tag Page, only the Data Page.\n* Alternatively, if MTE is not enabled in the guest, pages handed to\n  the guest may be allocated from the untagged page freelist, including\n  Tag Pages.\n\nAlternatively, a hypervisor may virtualize the dynamic tag storage\nfeature, which would allow the guest to make use of unused tag storage,\nat the cost of requiring memory to be handed to the guest in Tag Block\nsized chunks, potentially requiring compaction:\n\n* Instead of virtualizing pages, the hypervisor virtualizes Tag Blocks. A\n  device tree or ACPI table entry created by the hypervisor describes the\n  location of the virtualized tag storage, so that the guest operating\n  system knows the locations of the virtualized Tag Blocks.\n* A data abort or instruction abort, taken to EL2, in any part of a\n  virtualized Tag Block, shall result in the allocation of a physical Tag\n  Block to the guest operating system. Both the Data Pages and the Tag\n  Page will be exposed at the corresponding IPAs of the virtualized Tag\n  Block via stage 2 page tables.\n* If necessary, the hypervisor may remove a virtualized Tag Block from the\n  stage 2 page table (e.g. if the Tag Block needs to be swapped out). When\n  doing so, it shall perform a Tag Storage Clean operation before accessing\n  the Tag Block directly.\n* If a data abort or instruction abort is taken on a virtualized Tag Block\n  that was previously removed from a stage 2 page table, the data will\n  need to be restored to a physical Tag Block. The data may be restored\n  to any available physical Tag Block, relying on the second hardware\n  requirement for relocatable Tag Blocks to ensure that tags are preserved.\n* Hardware that only supports the base hardware requirements and not the\n  requirements for relocatable Tag Blocks may only support guests that do\n  not release physical memory to the host, or only do so cooperatively. For\n  example, this is how protected VM guests work.\n"
  }
]