diff --git a/.CMake/alg_support.cmake b/.CMake/alg_support.cmake index 7309c800f..bf8e4d56c 100644 --- a/.CMake/alg_support.cmake +++ b/.CMake/alg_support.cmake @@ -174,6 +174,15 @@ cmake_dependent_option(OQS_ENABLE_SIG_mayo_3 "" ON "OQS_ENABLE_SIG_MAYO" OFF) cmake_dependent_option(OQS_ENABLE_SIG_mayo_5 "" ON "OQS_ENABLE_SIG_MAYO" OFF) ##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_END +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_START +if ((OQS_LIBJADE_BUILD STREQUAL "ON")) + +option(OQS_ENABLE_LIBJADE_KEM_KYBER "Enable libjade implementation of kyber algorithm family" ON) +cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_512 "" ON "OQS_ENABLE_LIBJADE_KEM_KYBER" OFF) +cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_768 "" ON "OQS_ENABLE_LIBJADE_KEM_KYBER" OFF) +endif() +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_END + if((OQS_MINIMAL_BUILD STREQUAL "ON")) message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported") endif() @@ -530,6 +539,24 @@ endif() ##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_END +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_START +if ((OQS_LIBJADE_BUILD STREQUAL "ON")) + +if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin") +if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS)) + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2 "" ON "OQS_ENABLE_LIBJADE_KEM_kyber_512" OFF) +endif() +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin") +if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS)) + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2 "" ON "OQS_ENABLE_LIBJADE_KEM_kyber_768" OFF) +endif() +endif() + +endif() +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_END + option(OQS_ENABLE_SIG_STFL_XMSS "Enable XMSS algorithm family" OFF) cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF) cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF) diff --git a/.github/workflows/unix.yml b/.github/workflows/unix.yml index c55dd86ee..fbaa3f20c 100644 --- a/.github/workflows/unix.yml +++ b/.github/workflows/unix.yml @@ -3,7 +3,13 @@ name: Linux and MacOS tests permissions: contents: read -on: [ push, pull_request ] +on: [ push, pull_request , workflow_dispatch] + +env: + # Semi-colon separated list of algorithims with libjade implementations to + # be passed as input to CMake option as: -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST + # See CONFIGURE.md under ## OQS_MINIMAL_BUILD + LIBJADE_ALG_LIST: "KEM_kyber_512;KEM_kyber_768" jobs: @@ -23,12 +29,24 @@ jobs: upstreamcheck: name: Check upstream code is properly integrated + strategy: + fail-fast: false + matrix: + copy-mode: + - copy + - libjade container: openquantumsafe/ci-ubuntu-focal-x86_64:latest runs-on: ubuntu-latest steps: + - name: Setup nix + uses: cachix/install-nix-action@v26 + - name: Setup jasmin-compiler + run: | + nix-channel --add https://nixos.org/channels/nixos-23.11 nixpkgs && \ + nix-channel --update && nix-env -iA nixpkgs.jasmin-compiler - name: Checkout code uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 - - name: Verify copy_from_upstream state + - name: Verify copy_from_upstream state after "${{ matrix.copy-mode}}" run: | git config --global user.name "ciuser" && \ git config --global user.email "ci@openquantumsafe.org" && \ @@ -36,7 +54,7 @@ jobs: git config --global --add safe.directory $LIBOQS_DIR && \ cd scripts/copy_from_upstream && \ ! pip3 install --require-hashes -r requirements.txt 2>&1 | grep ERROR && \ - python3 copy_from_upstream.py copy && \ + python3 copy_from_upstream.py ${{ matrix.copy-mode }} && \ ! git status | grep modified buildcheck: @@ -155,13 +173,18 @@ jobs: CMAKE_ARGS: -DCMAKE_C_COMPILER=clang-9 -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=Address -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=OFF -DOQS_ENABLE_SIG_STFL_XMSS=ON -DOQS_ENABLE_SIG_STFL_LMS=ON PYTEST_ARGS: --ignore=tests/test_distbuild.py --ignore=tests/test_leaks.py --ignore=tests/test_kat_all.py --maxprocesses=10 runs-on: ${{ matrix.runner }} + libjade-build: + - -DOQS_LIBJADE_BUILD=OFF + # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by + # libjade to minimise repeated tests + - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST container: image: ${{ matrix.container }} steps: - name: Checkout code uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 - name: Configure - run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N .. + run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }} .. && cmake -LA -N .. - name: Build run: ninja working-directory: build @@ -267,6 +290,16 @@ jobs: - -DCMAKE_C_COMPILER=gcc-13 - -DOQS_USE_OPENSSL=OFF - -DBUILD_SHARED_LIBS=ON -DOQS_DIST_BUILD=OFF + libjade-build: + - -DOQS_LIBJADE_BUILD=OFF + # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by + # libjade to minimise repeated tests + - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST + exclude: + # macos-14 runs on aarch64, libjade targets x86 + # Skip testing libjade on macos-14 + - os: macos-14 + libjade-build: -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST runs-on: ${{ matrix.os }} steps: - name: Install Python @@ -282,7 +315,7 @@ jobs: - name: Get system information run: sysctl -a | grep machdep.cpu - name: Configure - run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N .. + run: mkdir -p build && cd build && source ~/.bashrc && cmake -GNinja -DOQS_STRICT_WARNINGS=ON ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }} .. && cmake -LA -N .. - name: Build run: ninja working-directory: build diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index d79fda6f1..dc2ff8346 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -6,6 +6,13 @@ permissions: on: schedule: - cron: "5 0 * * 0" + workflow_dispatch: + +env: + # Semi-colon separated list of algorithims with libjade implementations to + # be passed as input to CMake option as: -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST + # See CONFIGURE.md under ## OQS_MINIMAL_BUILD + LIBJADE_ALG_LIST: "KEM_kyber_512;KEM_kyber_768" jobs: constant-time-x64: @@ -52,13 +59,18 @@ jobs: container: openquantumsafe/ci-ubuntu-focal-x86_64:latest CMAKE_ARGS: -DOQS_DIST_BUILD=OFF -DOQS_OPT_TARGET=auto PYTEST_ARGS: --numprocesses=auto -k 'test_kat_all' + libjade-build: + - -DOQS_LIBJADE_BUILD=OFF + # Restrict -DOQS_LIBJADE_BUILD=ON build to algs provided by + # libjade to minimise repeated tests + - -DOQS_LIBJADE_BUILD=ON -DOQS_MINIMAL_BUILD=$LIBJADE_ALG_LIST container: image: ${{ matrix.container }} steps: - name: Checkout code uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # pin@v2 - name: Configure - run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} .. && cmake -LA -N .. + run: mkdir build && cd build && cmake -GNinja ${{ matrix.CMAKE_ARGS }} ${{ matrix.libjade-build }}.. && cmake -LA -N .. - name: Build run: ninja working-directory: build diff --git a/CMakeLists.txt b/CMakeLists.txt index 99f431413..257d302a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ project(liboqs C ASM) option(OQS_DIST_BUILD "Build distributable library with optimized code for several CPU microarchitectures. Enables run-time CPU feature detection." ON) option(OQS_BUILD_ONLY_LIB "Build only liboqs and do not expose build targets for tests, documentation, and pretty-printing available." OFF) set(OQS_MINIMAL_BUILD "" CACHE STRING "Only build specifically listed algorithms.") +option(OQS_LIBJADE_BUILD "Enable formally verified implementation of supported algorithms from libjade." OFF) option(OQS_PERMIT_UNSUPPORTED_ARCHITECTURE "Permit compilation on an an unsupported architecture." OFF) option(OQS_STRICT_WARNINGS "Enable all compiler warnings." OFF) option(OQS_EMBEDDED_BUILD "Compile liboqs for an Embedded environment without a full standard library." OFF) @@ -95,6 +96,10 @@ else() message(FATAL_ERROR "Unknown or unsupported processor: " ${CMAKE_SYSTEM_PROCESSOR} ". Override by setting OQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON") endif() +if (NOT ((CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin") AND (ARCH_X86_64 STREQUAL "ON")) AND (OQS_LIBJADE_BUILD STREQUAL "ON")) + message(FATAL_ERROR "Building liboqs with libjade implementations from libjade is only supported on Linux and Darwin on x86_64.") +endif() + # intentionally don't switch to variables to avoid --warn-uninitialized report if(OQS_USE_CPU_EXTENSIONS) message(FATAL_ERROR "OQS_USE_CPU_EXTENSIONS is deprecated") diff --git a/CONFIGURE.md b/CONFIGURE.md index d22c9fa34..becb4a883 100644 --- a/CONFIGURE.md +++ b/CONFIGURE.md @@ -19,6 +19,8 @@ The following options can be passed to CMake before the build file generation pr - [OQS_ENABLE_TEST_CONSTANT_TIME](#OQS_ENABLE_TEST_CONSTANT_TIME) - [OQS_STRICT_WARNINGS](#OQS_STRICT_WARNINGS) - [OQS_EMBEDDED_BUILD](#OQS_EMBEDDED_BUILD) +- [OQS_LIBJADE_BUILD](#OQS_LIBJADE_BUILD) +- [OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG](#OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG) ## BUILD_SHARED_LIBS @@ -198,3 +200,18 @@ At the moment, this is **only** considered for random number generation, as both **Attention**: When this option is enabled, you have to supply a custom callback for obtaining random numbers using the `OQS_randombytes_custom_algorithm()` API before accessing the cryptographic API. Otherwise, all key generation and signing operations will fail. **Default**: `OFF`. + +## OQS_LIBJADE_BUILD +Can be `ON` or `OFF`. When `ON` liboqs is built to use high assurance implementations of cryptographic algorithms from [Libjade](https://github.com/formosa-crypto/libjade). The cryptographic primitives in Libjade are written using [Jasmin](https://github.com/jasmin-lang/jasmin) and built using the Jasmin compiler. The Jasmin compiler is proven (in Coq) to preserve semantic correctness of a program, maintain secret-independence of control flow, and maintain secret independence of locations of memory access through compilation. Additionally, the Jasmin compiler guarantees thread safety because Jasmin doesn't support global variables. + +At the moment, Libjade only provides Kyber512 and Kyber768 KEMs. + +At the moment, libjade only supports Linux and Darwin based operating systems on x86_64 platforms. + +**Default** `OFF`. + +## OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG + +Note: `ALG` in `OQS_ENABLE_LIBJADE_KEM_ALG/OQS_ENABLE_LIBJADE_SIG_ALG` should be replaced with the specific algorithm name as demonstrated in OQS_ENABLE_KEM_ALG/OQS_ENABLE_SIG_ALG. + +**Default**: `OFF` if OQS_LIBJADE_BUILD is `OFF` else unset. \ No newline at end of file diff --git a/README.md b/README.md index 423032028..7637b770b 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,7 @@ liboqs includes some third party libraries or modules that are licensed differen - `src/kem/classic_mceliece/pqclean_*`: public domain - `src/kem/kyber/pqcrystals-*`: public domain (CC0) or Apache License v2.0 - `src/kem/kyber/pqclean_*`: public domain (CC0), and public domain (CC0) or Apache License v2.0, and public domain (CC0) or MIT, and MIT +- `src/kem/kyber/libjade_*` public domain (CC0) or Apache License v2. - `src/kem/ml_kem/pqcrystals-*`: public domain (CC0) or Apache License v2.0 - `src/sig/dilithium/pqcrystals-*`: public domain (CC0) or Apache License v2.0 - `src/sig/dilithium/pqclean_*`: public domain (CC0), and public domain (CC0) or Apache License v2.0, and public domain (CC0) or MIT, and MIT diff --git a/docs/.Doxyfile b/docs/.Doxyfile index 1e7dbd33b..c29f2514d 100644 --- a/docs/.Doxyfile +++ b/docs/.Doxyfile @@ -378,7 +378,7 @@ TOC_INCLUDE_HEADINGS = 0 # The default value is: DOXYGEN. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. -MARKDOWN_ID_STYLE = DOXYGEN +MARKDOWN_ID_STYLE = GITHUB # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can diff --git a/docs/algorithms/kem/kyber.md b/docs/algorithms/kem/kyber.md index 0ae1cf310..8e59251ca 100644 --- a/docs/algorithms/kem/kyber.md +++ b/docs/algorithms/kem/kyber.md @@ -13,6 +13,10 @@ - **oldpqclean-aarch64**: - **Source**: https://github.com/PQClean/PQClean/commit/8e220a87308154d48fdfac40abbb191ac7fce06a with copy_from_upstream patches - **Implementation license (SPDX-Identifier)**: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT) and MIT +- **Formally-verified Implementation sources**: + - **libjade**: + - **Source**: https://github.com/formosa-crypto/libjade/tree/release/2023.05-2 with copy_from_upstream patches + - **Implementation license (SPDX-Identifier)**: CC0-1.0 OR Apache-2.0 ## Parameter set summary @@ -30,6 +34,8 @@ | [Primary Source](#primary-source) | ref | All | All | None | True | True | False | | [Primary Source](#primary-source) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | True | False | | [oldpqclean-aarch64](#oldpqclean-aarch64) | aarch64 | ARM64\_V8 | Linux,Darwin | None | True | False | False | +| [libjade](#libjade) | ref | x86\_64 | Linux,Darwin | None | True | False | False | +| [libjade](#libjade) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | False | False | Are implementations chosen based on runtime CPU feature detection? **Yes**. @@ -42,6 +48,8 @@ Are implementations chosen based on runtime CPU feature detection? **Yes**. | [Primary Source](#primary-source) | ref | All | All | None | True | True | False | | [Primary Source](#primary-source) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | True | False | | [oldpqclean-aarch64](#oldpqclean-aarch64) | aarch64 | ARM64\_V8 | Linux,Darwin | None | True | False | False | +| [libjade](#libjade) | ref | x86\_64 | Linux,Darwin | None | True | False | False | +| [libjade](#libjade) | avx2 | x86\_64 | Linux,Darwin | AVX2,BMI2,POPCNT | True | False | False | Are implementations chosen based on runtime CPU feature detection? **Yes**. diff --git a/docs/algorithms/kem/kyber.yml b/docs/algorithms/kem/kyber.yml index c3561273a..3ee7f21d9 100644 --- a/docs/algorithms/kem/kyber.yml +++ b/docs/algorithms/kem/kyber.yml @@ -26,6 +26,11 @@ optimized-upstreams: with copy_from_upstream patches spdx-license-identifier: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT) and MIT +formally-verified-upstreams: + libjade: + source: https://github.com/formosa-crypto/libjade/tree/release/2023.05-2 with + copy_from_upstream patches + spdx-license-identifier: CC0-1.0 OR Apache-2.0 parameter-sets: - name: Kyber512 claimed-nist-level: 1 @@ -72,6 +77,30 @@ parameter-sets: no-secret-dependent-branching-claimed: true no-secret-dependent-branching-checked-by-valgrind: false large-stack-usage: false + - upstream: libjade + upstream-id: ref + supported-platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin + no-secret-dependent-branching-claimed: true + no-secret-dependent-branching-checked-by-valgrind: false + large-stack-usage: false + - upstream: libjade + upstream-id: avx2 + supported-platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin + required_flags: + - avx2 + - bmi2 + - popcnt + no-secret-dependent-branching-claimed: true + no-secret-dependent-branching-checked-by-valgrind: false + large-stack-usage: false - name: Kyber768 claimed-nist-level: 3 claimed-security: IND-CCA2 @@ -117,6 +146,30 @@ parameter-sets: no-secret-dependent-branching-claimed: true no-secret-dependent-branching-checked-by-valgrind: false large-stack-usage: false + - upstream: libjade + upstream-id: ref + supported-platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin + no-secret-dependent-branching-claimed: true + no-secret-dependent-branching-checked-by-valgrind: false + large-stack-usage: false + - upstream: libjade + upstream-id: avx2 + supported-platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin + required_flags: + - avx2 + - bmi2 + - popcnt + no-secret-dependent-branching-claimed: true + no-secret-dependent-branching-checked-by-valgrind: false + large-stack-usage: false - name: Kyber1024 claimed-nist-level: 5 claimed-security: IND-CCA2 diff --git a/docs/cbom.json b/docs/cbom.json index 358fc28b3..f605276ac 100644 --- a/docs/cbom.json +++ b/docs/cbom.json @@ -1,23 +1,23 @@ { "bomFormat": "CBOM", "specVersion": "1.4-cbom-1.0", - "serialNumber": "urn:uuid:004d7395-7601-44af-97dd-57c2214e5f60", + "serialNumber": "urn:uuid:58a975ac-ea6b-4ce9-a5ae-80d35105db30", "version": 1, "metadata": { - "timestamp": "2024-07-11T15:22:22.228289", + "timestamp": "2024-04-09T21:46:17.101849", "component": { "type": "library", - "bom-ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65", + "bom-ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872", "name": "liboqs", - "version": "ca5d956097e10672aaa9bb7994057bcc58291b65" + "version": "2fd65d9ec99a2608149713e5fcaeb9b6402e5872" } }, "components": [ { "type": "library", - "bom-ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65", + "bom-ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872", "name": "liboqs", - "version": "ca5d956097e10672aaa9bb7994057bcc58291b65" + "version": "2fd65d9ec99a2608149713e5fcaeb9b6402e5872" }, { "type": "crypto-asset", @@ -839,6 +839,46 @@ "nistQuantumSecurityLevel": 1 } }, + { + "type": "crypto-asset", + "bom-ref": "alg:Kyber512:jasmin:x86_64", + "name": "Kyber", + "cryptoProperties": { + "assetType": "algorithm", + "algorithmProperties": { + "variant": "Kyber512", + "primitive": "kem", + "implementationLevel": "softwarePlainRam", + "cryptoFunctions": [ + "keygen", + "encapsulate", + "decapsulate" + ], + "implementationPlatform": "x86_64" + }, + "nistQuantumSecurityLevel": 1 + } + }, + { + "type": "crypto-asset", + "bom-ref": "alg:Kyber512:jasmin:avx2:x86_64", + "name": "Kyber", + "cryptoProperties": { + "assetType": "algorithm", + "algorithmProperties": { + "variant": "Kyber512", + "primitive": "kem", + "implementationLevel": "softwarePlainRam", + "cryptoFunctions": [ + "keygen", + "encapsulate", + "decapsulate" + ], + "implementationPlatform": "x86_64" + }, + "nistQuantumSecurityLevel": 1 + } + }, { "type": "crypto-asset", "bom-ref": "alg:Kyber768:generic", @@ -899,6 +939,46 @@ "nistQuantumSecurityLevel": 3 } }, + { + "type": "crypto-asset", + "bom-ref": "alg:Kyber768:jasmin:x86_64", + "name": "Kyber", + "cryptoProperties": { + "assetType": "algorithm", + "algorithmProperties": { + "variant": "Kyber768", + "primitive": "kem", + "implementationLevel": "softwarePlainRam", + "cryptoFunctions": [ + "keygen", + "encapsulate", + "decapsulate" + ], + "implementationPlatform": "x86_64" + }, + "nistQuantumSecurityLevel": 3 + } + }, + { + "type": "crypto-asset", + "bom-ref": "alg:Kyber768:jasmin:avx2:x86_64", + "name": "Kyber", + "cryptoProperties": { + "assetType": "algorithm", + "algorithmProperties": { + "variant": "Kyber768", + "primitive": "kem", + "implementationLevel": "softwarePlainRam", + "cryptoFunctions": [ + "keygen", + "encapsulate", + "decapsulate" + ], + "implementationPlatform": "x86_64" + }, + "nistQuantumSecurityLevel": 3 + } + }, { "type": "crypto-asset", "bom-ref": "alg:Kyber1024:generic", @@ -2328,7 +2408,7 @@ ], "dependencies": [ { - "ref": "pkg:github/open-quantum-safe/liboqs@ca5d956097e10672aaa9bb7994057bcc58291b65", + "ref": "pkg:github/open-quantum-safe/liboqs@2fd65d9ec99a2608149713e5fcaeb9b6402e5872", "dependsOn": [ "alg:BIKE-L1:x86_64", "alg:BIKE-L3:x86_64", @@ -2371,9 +2451,13 @@ "alg:Kyber512:generic", "alg:Kyber512:x86_64", "alg:Kyber512:armv8-a", + "alg:Kyber512:jasmin:x86_64", + "alg:Kyber512:jasmin:avx2:x86_64", "alg:Kyber768:generic", "alg:Kyber768:x86_64", "alg:Kyber768:armv8-a", + "alg:Kyber768:jasmin:x86_64", + "alg:Kyber768:jasmin:avx2:x86_64", "alg:Kyber1024:generic", "alg:Kyber1024:x86_64", "alg:Kyber1024:armv8-a", diff --git a/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade new file mode 100644 index 000000000..8d0af0aa5 --- /dev/null +++ b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg.libjade @@ -0,0 +1,23 @@ + +if ((OQS_LIBJADE_BUILD STREQUAL "ON")) +{% for family in instructions['kems'] %} +option(OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }} "Enable libjade implementation of {{ family['name'] }} algorithm family" ON) + {%- for scheme in family['schemes'] %} +cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }}" OFF) +{%- if 'alias_scheme' in scheme %} +cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }}" OFF) +{%- endif -%} + {%- endfor %} +{% endfor -%} + +{% for family in instructions['sigs'] %} +option(OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }} "Enable libjade implementation of {{ family['name'] }} algorithm family" ON) + {%- for scheme in family['schemes'] %} +cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }}" OFF) +{%- if 'alias_scheme' in scheme %} +cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }}" OFF) +{%- endif -%} + {%- endfor %} +{% endfor -%} +endif() + diff --git a/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade new file mode 100644 index 000000000..82da652df --- /dev/null +++ b/scripts/copy_from_upstream/.CMake/alg_support.cmake/add_enable_by_alg_conditional.libjade @@ -0,0 +1,73 @@ + +if ((OQS_LIBJADE_BUILD STREQUAL "ON")) +{% for family in instructions['kems'] %} + {%- for scheme in family['schemes'] %} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%} + {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %} +{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}") +{% endif -%} +if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%})) + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF) +{%- if 'alias_scheme' in scheme %} + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF) +{%- endif %} +endif() +{% if platform['operating_systems'] %}endif() +{% endif -%} + {%- endfor -%} + {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %} +{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}") +{% endif -%} +if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))) +{% if impl['upstream']['name'].endswith('pqclean') -%} +if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))) +{%- endif %} + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF) +{%- if 'alias_scheme' in scheme %} + cmake_dependent_option(OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF) +{%- endif %} +{% if impl['upstream']['name'].endswith('pqclean') -%} +else() + message(WARNING " ARM optimizations are not fully supported on this compiler version.") +endif() +{%- endif %} +endif() +{% if platform['operating_systems'] %}endif() +{% endif -%} + {%- endfor -%} + {%- endfor -%} + {%- endfor %} +{% endfor -%} + +{% for family in instructions['sigs'] %} + {%- for scheme in family['schemes'] %} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%} + {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %} +{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}") +{% endif -%} +if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%})) + cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF) +{%- if 'alias_scheme' in scheme %} + cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF) +{%- endif %} +endif() +{% if platform['operating_systems'] %}endif() +{% endif -%} + {%- endfor -%} + {%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %} +{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}") +{% endif -%} +if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})) + cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF) +{%- if 'alias_scheme' in scheme %} + cmake_dependent_option(OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF) +{%- endif %} +endif() +{% if platform['operating_systems'] %}endif() +{% endif -%} + {%- endfor -%} + {%- endfor -%} + {%- endfor %} +{% endfor -%} +endif() + diff --git a/scripts/copy_from_upstream/copy_from_libjade.yml b/scripts/copy_from_upstream/copy_from_libjade.yml new file mode 100644 index 000000000..620949c39 --- /dev/null +++ b/scripts/copy_from_upstream/copy_from_libjade.yml @@ -0,0 +1,30 @@ +# When adding an algorithm to copy_from_libjade.yml, the boolean +# 'libjade_implementation' and list of implementation 'libjade_implementations' +# must updated for the relevant algorithm in copy_from_upstream.yml +# Additionaly, the algorithm name must be appended to env.LIBJADE_ALG_LIST +# in the unix.yml and weekly.yml GitHub Actions workflows +jasmin_version: '2023.06.3' +upstreams: + - + name: libjade + git_url: https://github.com/formosa-crypto/libjade.git + git_branch: release/2023.05-2 + git_commit: 4e15c1d221d025deca40edef2c762be9e3d346b7 + kem_meta_path: 'src/crypto_kem/{family}/{pqclean_scheme}/META.yml' + kem_scheme_path: 'src/crypto_kem/{family}/{pqclean_scheme}' + patches: ['libjade-kyber-api.patch', 'libjade-kyber-meta.patch'] +kems: + - + name: kyber + default_implementation: ref + upstream_location: libjade + schemes: + - + scheme: "512" + pqclean_scheme: kyber512 + pretty_name_full: Kyber512 + - + scheme: "768" + pqclean_scheme: kyber768 + pretty_name_full: Kyber768 +sigs: [] \ No newline at end of file diff --git a/scripts/copy_from_upstream/copy_from_upstream.py b/scripts/copy_from_upstream/copy_from_upstream.py index 9c4f8f223..6cd9b12ec 100755 --- a/scripts/copy_from_upstream/copy_from_upstream.py +++ b/scripts/copy_from_upstream/copy_from_upstream.py @@ -24,7 +24,7 @@ parser = argparse.ArgumentParser() parser.add_argument("-v", "--verbosity", type=int) parser.add_argument("-k", "--keep_data", action='store_true') -parser.add_argument("operation", choices=["copy", "verify"]) +parser.add_argument("operation", choices=["copy", "verify", "libjade"]) args = parser.parse_args() if args.verbosity: @@ -65,15 +65,27 @@ def shell(command, expect=0): if ret.returncode != expect: raise Exception("'{}' failed with error {}. Expected {}.".format(" ".join(command), ret, expect)) -def generator(destination_file_path, template_filename, family, scheme_desired): +# Generate template from specified scheme to replace old file in 'copy' mode +# but preserves additions made to file in prior runs of 'libjade' mode +def generator(destination_file_path, template_filename, delimiter, family, scheme_desired): template = file_get_contents( os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', template_filename)) f = copy.deepcopy(family) + contents = file_get_contents(os.path.join(os.environ['LIBOQS_DIR'], destination_file_path)) if scheme_desired != None: f['schemes'] = [x for x in f['schemes'] if x == scheme_desired] - assert (len(f['schemes']) == 1) - # if scheme['implementation'] is not set, run over all implementations! - file_put_contents(destination_file_path, jinja2.Template(template).render(f)) + identifier = '{} OQS_COPY_FROM_{}_FRAGMENT_{}'.format(delimiter, 'LIBJADE', os.path.splitext(os.path.basename(template_filename))[0].upper()) + if identifier in contents: + identifier_start, identifier_end = identifier + '_START', identifier + '_END' + contents = contents.split('\n') + libjade_contents = '\n'.join(contents[contents.index(identifier_start) + 1: contents.index(identifier_end)]) + contents = jinja2.Template(template).render(f) + preamble = contents[:contents.find(identifier_start)] + postamble = contents[contents.find(identifier_end):] + contents = preamble + identifier_start + '\n' + libjade_contents + '\n' + postamble + else: + contents = jinja2.Template(template).render(f) + file_put_contents(destination_file_path, contents) def generator_all(filename, instructions): @@ -82,24 +94,38 @@ def generator_all(filename, instructions): file_put_contents(filename, contents) -def replacer(filename, instructions, delimiter): +def replacer(filename, instructions, delimiter, libjade=False): fragments = glob.glob( - os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', filename, '*.fragment')) + os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', filename, '*.{}'.format('libjade' if libjade else 'fragment'))) contents = file_get_contents(os.path.join(os.environ['LIBOQS_DIR'], filename)) for fragment in fragments: template = file_get_contents(fragment) identifier = os.path.splitext(os.path.basename(fragment))[0] - identifier_start = '{} OQS_COPY_FROM_UPSTREAM_FRAGMENT_{}_START'.format(delimiter, identifier.upper()) - identifier_end = '{} OQS_COPY_FROM_UPSTREAM_FRAGMENT_{}_END'.format(delimiter, identifier.upper()) + identifier_start = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_START'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper()) + identifier_end = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_END'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper()) preamble = contents[:contents.find(identifier_start)] postamble = contents[contents.find(identifier_end):] contents = preamble + identifier_start + jinja2.Template(template).render( {'instructions': instructions, 'non_upstream_kems': non_upstream_kems}) + postamble file_put_contents(os.path.join(os.environ['LIBOQS_DIR'], filename), contents) -def load_instructions(): +def replacer_contextual(destination_file_path, template_file_path, delimiter, family, scheme_desired, libjade=False): + contents = file_get_contents(destination_file_path) + template = file_get_contents(template_file_path) + identifier = os.path.basename(template_file_path).split(os.extsep)[0] + identifier_start = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_START'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper()) + identifier_end = '{} OQS_COPY_FROM_{}_FRAGMENT_{}_END'.format(delimiter, 'LIBJADE' if libjade else 'UPSTREAM', identifier.upper()) + f = copy.deepcopy(family) + if scheme_desired != None: + f['schemes'] = [x for x in f['schemes'] if x == scheme_desired] + preamble = contents[:contents.find(identifier_start)] + postamble = contents[contents.find(identifier_end):] + contents = preamble + identifier_start + jinja2.Template(template).render(f) + postamble + file_put_contents(destination_file_path, contents) + +def load_instructions(file): instructions = file_get_contents( - os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', 'copy_from_upstream.yml'), + os.path.join(os.environ['LIBOQS_DIR'], 'scripts', 'copy_from_upstream', file), encoding='utf-8') instructions = yaml.safe_load(instructions) upstreams = {} @@ -118,10 +144,24 @@ def load_instructions(): if not os.path.exists(work_dotgit): shell(['git', 'init', work_dir]) shell(['git', '--git-dir', work_dotgit, 'remote', 'add', 'origin', upstream_git_url]) - shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'remote', 'set-url', 'origin', upstream_git_url]) - shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_commit]) - shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'reset', '--hard', upstream_git_commit]) - if 'patches' in upstream: + shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'remote', 'set-url', 'origin', upstream_git_url]) + if file == 'copy_from_libjade.yml': + shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_branch]) + else: + shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'fetch', '--depth=1', 'origin', upstream_git_commit]) + shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'reset', '--hard', upstream_git_commit]) + if file == 'copy_from_libjade.yml': + try: + version = subprocess.run(['jasminc', '-version'], capture_output=True).stdout.decode('utf-8').strip().split(' ')[-1] + if version != instructions['jasmin_version']: + print('Expected Jasmin compiler version {}; got version {}.'.format(instructions['jasmin_version'], version)) + print('Must use Jasmin complier version {} or update copy_from_libjade.yml.'.format(instructions['jasmin_version'])) + exit(1) + except FileNotFoundError: + print('Jasmin compiler not found; must add `jasminc` to PATH.') + exit(1) + shell(['make', '-C', os.path.join(work_dir, 'src')]) + if 'patches' in upstream: for patch in upstream['patches']: patch_file = os.path.join('patches', patch) shell(['git', '--git-dir', work_dotgit, '--work-tree', work_dir, 'apply', '--whitespace=fix', '--directory', work_dir, patch_file]) @@ -152,6 +192,7 @@ def load_instructions(): family['common_deps_usedby'] = {} family['all_required_flags'] = set() for scheme in family['schemes']: + scheme['family'] = family['name'] if not 'upstream_location' in scheme: scheme['upstream_location'] = family['upstream_location'] if (not 'arch_specific_upstream_locations' in scheme) and 'arch_specific_upstream_locations' in family: @@ -347,6 +388,7 @@ def load_instructions(): return instructions + # Copy over all files for a given impl in a family using scheme # Returns list of all relative source files def handle_common_deps(common_dep, family, dst_basedir): @@ -424,30 +466,43 @@ def handle_implementation(impl, family, scheme, dst_basedir): of = impl origfolder = os.path.join(scheme['scheme_paths'][impl], of) upstream_location = i['upstream']['name'] - shutil.rmtree(os.path.join(dst_basedir, 'src', family['type'], family['name'], - '{}_{}_{}'.format(upstream_location, scheme['pqclean_scheme'], impl)), - ignore_errors=True) srcfolder = os.path.join(dst_basedir, 'src', family['type'], family['name'], '{}_{}_{}'.format(upstream_location, scheme['pqclean_scheme'], impl)) + shutil.rmtree(srcfolder, ignore_errors=True) # Don't copy from PQClean straight but check for origfile list try: os.mkdir(srcfolder) except FileExistsError as fee: print(fee) pass - # determine list of files to copy: - if 'sources' in i: - srcs = i['sources'].split(" ") - for s in srcs: - # Copy recursively only in case of directories not with plain files to avoid copying over symbolic links - if os.path.isfile(os.path.join(origfolder, s)): - subprocess.run(['cp', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))]) - else: - subprocess.run( - ['cp', '-r', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))]) + if upstream_location == 'libjade': + # Flatten directory structure while copying relevant files from libjade repo + for root, _, files in os.walk(origfolder): + for file in files: + if os.path.splitext(file)[1] in ['.c', '.h']: + source_path = os.path.join(root, file) + dest_path = os.path.join(srcfolder, file) + subprocess.run(['cp', source_path, dest_path]) + if os.path.splitext(file)[1] in ['.s']: + file_name, file_ext = os.path.splitext(file) + new_file = ''.join([file_name, file_ext.upper()]) + source_path = os.path.join(root, file) + dest_path = os.path.join(srcfolder, new_file) + subprocess.run(['cp', source_path, dest_path]) else: - subprocess.run(['cp', '-pr', os.path.join(origfolder, '.'), srcfolder]) - # raise Exception("Malformed YML file: No sources listed to copy. Check upstream YML file." ) + # determine list of files to copy: + if 'sources' in i: + srcs = i['sources'].split(" ") + for s in srcs: + # Copy recursively only in case of directories not with plain files to avoid copying over symbolic links + if os.path.isfile(os.path.join(origfolder, s)): + subprocess.run(['cp', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))]) + else: + subprocess.run( + ['cp', '-r', os.path.join(origfolder, s), os.path.join(srcfolder, os.path.basename(s))]) + else: + subprocess.run(['cp', '-pr', os.path.join(origfolder, '.'), srcfolder]) + # raise Exception("Malformed YML file: No sources listed to copy. Check upstream YML file." ) else: raise Exception("Mandatory argument upstream_location is missing") @@ -483,7 +538,7 @@ def handle_implementation(impl, family, scheme, dst_basedir): return [x[len(srcfolder) + 1:] for x in ffs] -def process_families(instructions, basedir, with_kat, with_generator): +def process_families(instructions, basedir, with_kat, with_generator, with_libjade=False): for family in instructions['kems'] + instructions['sigs']: try: os.makedirs(os.path.join(basedir, 'src', family['type'], family['name'])) @@ -574,12 +629,14 @@ def process_families(instructions, basedir, with_kat, with_generator): os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], family['type'] + '_{}.h'.format(family['name'])), os.path.join('src', family['type'], 'family', family['type'] + '_family.h'), + '/////', family, None, ) generator( os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], 'CMakeLists.txt'), os.path.join('src', family['type'], 'family', 'CMakeLists.txt'), + '#####', family, None, ) @@ -589,16 +646,28 @@ def process_families(instructions, basedir, with_kat, with_generator): os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], family['type'] + '_{}_{}.c'.format(family['name'], scheme['scheme_c'])), os.path.join('src', family['type'], 'family', family['type'] + '_scheme.c'), + '/////', family, scheme, ) + + if with_libjade: + replacer_contextual( + os.path.join(os.environ['LIBOQS_DIR'], 'src', family['type'], family['name'], 'CMakeLists.txt'), + os.path.join('src', family['type'], 'family', 'CMakeLists.txt.libjade'), + '#####', + family, + None, + libjade=True + ) + def copy_from_upstream(): for t in ["kem", "sig"]: with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), 'r') as fp: kats[t] = json.load(fp) - instructions = load_instructions() + instructions = load_instructions('copy_from_upstream.yml') process_families(instructions, os.environ['LIBOQS_DIR'], True, True) replacer('.CMake/alg_support.cmake', instructions, '#####') replacer('CMakeLists.txt', instructions, '#####') @@ -624,6 +693,36 @@ def copy_from_upstream(): if not keepdata: shutil.rmtree('repos') +# Copy algorithms from libjade specified in copy_from_libjade.yml, apply +# patches and generate select templates +# Can be run independant of 'copy' mode. +# When adding an algorithm to copy_from_libjade.yml, the boolean +# 'libjade_implementation' and list of implementation 'libjade_implementations' +# must updated for the relevant algorithm in copy_from_upstream.yml +def copy_from_libjade(): + for t in ["kem", "sig"]: + with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), 'r') as fp: + kats[t] = json.load(fp) + + instructions = load_instructions('copy_from_libjade.yml') + process_families(instructions, os.environ['LIBOQS_DIR'], True, False, True) + replacer('.CMake/alg_support.cmake', instructions, '#####', libjade=True) + replacer('src/oqsconfig.h.cmake', instructions, '/////', libjade=True) + for t in ["kem", "sig"]: + with open(os.path.join(os.environ['LIBOQS_DIR'], 'tests', 'KATs', t, 'kats.json'), "w") as f: + json.dump(kats[t], f, indent=2, sort_keys=True) + + update_upstream_alg_docs.do_it(os.environ['LIBOQS_DIR'], upstream_location='libjade') + + sys.path.insert(1, os.path.join(os.environ['LIBOQS_DIR'], 'scripts')) + import update_docs_from_yaml + import update_cbom + update_docs_from_yaml.do_it(os.environ['LIBOQS_DIR']) + update_cbom.update_cbom_if_algs_not_changed(os.environ['LIBOQS_DIR'], "git") + if not keepdata: + shutil.rmtree('repos') + + def verify_from_upstream(): instructions = load_instructions() basedir = "verify_from_upstream" @@ -701,5 +800,7 @@ def verify_from_upstream(): if args.operation == "copy": copy_from_upstream() +elif args.operation == "libjade": + copy_from_libjade() elif args.operation == "verify": verify_from_upstream() diff --git a/scripts/copy_from_upstream/copy_from_upstream.yml b/scripts/copy_from_upstream/copy_from_upstream.yml index f9582fa74..12cfec79b 100644 --- a/scripts/copy_from_upstream/copy_from_upstream.yml +++ b/scripts/copy_from_upstream/copy_from_upstream.yml @@ -127,6 +127,7 @@ kems: - name: kyber default_implementation: ref + libjade_implementation: True arch_specific_implementations: aarch64: aarch64 upstream_location: pqcrystals-kyber @@ -137,14 +138,23 @@ kems: scheme: "512" pqclean_scheme: kyber512 pretty_name_full: Kyber512 + libjade_implementation: True + libjade_implementations: + - ref + - avx2 - scheme: "768" pqclean_scheme: kyber768 pretty_name_full: Kyber768 + libjade_implementation: True + libjade_implementations: + - ref + - avx2 - scheme: "1024" pqclean_scheme: kyber1024 pretty_name_full: Kyber1024 + libjade_implementation: False - name: ml_kem default_implementation: ref diff --git a/scripts/copy_from_upstream/patches/libjade-kyber-api.patch b/scripts/copy_from_upstream/patches/libjade-kyber-api.patch new file mode 100644 index 000000000..74c331cf5 --- /dev/null +++ b/scripts/copy_from_upstream/patches/libjade-kyber-api.patch @@ -0,0 +1,305 @@ +diff --git a/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c b/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c +new file mode 100644 +index 0000000..78436e7 +--- /dev/null ++++ b/src/crypto_kem/kyber/kyber512/amd64/avx2/api.c +@@ -0,0 +1,20 @@ ++#include ++#include "api.h" ++ ++int libjade_kyber512_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) { ++ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES]; ++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2); ++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2); ++ return jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins); ++} ++ ++int libjade_kyber512_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { ++ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES]; ++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES); ++ return jade_kem_kyber_kyber512_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins); ++} ++ ++int libjade_kyber512_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { ++ return jade_kem_kyber_kyber512_amd64_avx2_dec( shared_secret, ciphertext, secret_key); ++} ++ +diff --git a/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h b/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h +index 5148fd5..419112e 100644 +--- a/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h ++++ b/src/crypto_kem/kyber/kyber512/amd64/avx2/include/api.h +@@ -3,16 +3,8 @@ + + #include + +-#define JADE_KEM_kyber_kyber512_amd64_avx2_SECRETKEYBYTES 1632 +-#define JADE_KEM_kyber_kyber512_amd64_avx2_PUBLICKEYBYTES 800 +-#define JADE_KEM_kyber_kyber512_amd64_avx2_CIPHERTEXTBYTES 768 + #define JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES 64 + #define JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES 32 +-#define JADE_KEM_kyber_kyber512_amd64_avx2_BYTES 32 +- +-#define JADE_KEM_kyber_kyber512_amd64_avx2_ALGNAME "Kyber512" +-#define JADE_KEM_kyber_kyber512_amd64_avx2_ARCH "amd64" +-#define JADE_KEM_kyber_kyber512_amd64_avx2_IMPL "avx2" + + int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand( + uint8_t *public_key, +@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber512_amd64_avx2_keypair( ++int libjade_kyber512_avx2_keypair( + uint8_t *public_key, + uint8_t *secret_key + ); +@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber512_amd64_avx2_enc_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber512_amd64_avx2_enc( ++int libjade_kyber512_avx2_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber512_amd64_avx2_dec( + const uint8_t *secret_key + ); + ++int libjade_kyber512_avx2_dec( ++ uint8_t *shared_secret, ++ const uint8_t *ciphertext, ++ const uint8_t *secret_key ++); ++ + #endif +diff --git a/src/crypto_kem/kyber/kyber512/amd64/ref/api.c b/src/crypto_kem/kyber/kyber512/amd64/ref/api.c +new file mode 100644 +index 0000000..e06e406 +--- /dev/null ++++ b/src/crypto_kem/kyber/kyber512/amd64/ref/api.c +@@ -0,0 +1,20 @@ ++#include ++#include "api.h" ++ ++int libjade_kyber512_ref_keypair(uint8_t *public_key, uint8_t *secret_key) { ++ uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES]; ++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2); ++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2); ++ return jade_kem_kyber_kyber512_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins); ++} ++ ++int libjade_kyber512_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { ++ uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES]; ++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES); ++ return jade_kem_kyber_kyber512_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins); ++} ++ ++int libjade_kyber512_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { ++ return jade_kem_kyber_kyber512_amd64_ref_dec(shared_secret, ciphertext, secret_key); ++} ++ +diff --git a/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h b/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h +index 38127cf..fcce52b 100644 +--- a/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h ++++ b/src/crypto_kem/kyber/kyber512/amd64/ref/include/api.h +@@ -3,17 +3,8 @@ + + #include + +-#define JADE_KEM_kyber_kyber512_amd64_ref_SECRETKEYBYTES 1632 +-#define JADE_KEM_kyber_kyber512_amd64_ref_PUBLICKEYBYTES 800 +-#define JADE_KEM_kyber_kyber512_amd64_ref_CIPHERTEXTBYTES 768 + #define JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES 64 + #define JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES 32 +-#define JADE_KEM_kyber_kyber512_amd64_ref_BYTES 32 +- +-#define JADE_KEM_kyber_kyber512_amd64_ref_ALGNAME "Kyber512" +-#define JADE_KEM_kyber_kyber512_amd64_ref_ARCH "amd64" +-#define JADE_KEM_kyber_kyber512_amd64_ref_IMPL "ref" +- + + int jade_kem_kyber_kyber512_amd64_ref_keypair_derand( + uint8_t *public_key, +@@ -21,7 +12,7 @@ int jade_kem_kyber_kyber512_amd64_ref_keypair_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber512_amd64_ref_keypair( ++int libjade_kyber512_ref_keypair( + uint8_t *public_key, + uint8_t *secret_key + ); +@@ -33,7 +24,7 @@ int jade_kem_kyber_kyber512_amd64_ref_enc_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber512_amd64_ref_enc( ++int libjade_kyber512_ref_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +@@ -45,4 +36,10 @@ int jade_kem_kyber_kyber512_amd64_ref_dec( + const uint8_t *secret_key + ); + ++int libjade_kyber512_ref_dec( ++ uint8_t *shared_secret, ++ const uint8_t *ciphertext, ++ const uint8_t *secret_key ++); ++ + #endif +diff --git a/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c b/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c +new file mode 100644 +index 0000000..9eeab1d +--- /dev/null ++++ b/src/crypto_kem/kyber/kyber768/amd64/avx2/api.c +@@ -0,0 +1,20 @@ ++#include ++#include "api.h" ++ ++int libjade_kyber768_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) { ++ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES]; ++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2); ++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2); ++ return jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins); ++} ++ ++int libjade_kyber768_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { ++ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES]; ++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES); ++ return jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins); ++} ++ ++int libjade_kyber768_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { ++ return jade_kem_kyber_kyber768_amd64_avx2_dec(shared_secret, ciphertext, secret_key); ++} ++ +diff --git a/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h b/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h +index d3b3500..ac36577 100644 +--- a/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h ++++ b/src/crypto_kem/kyber/kyber768/amd64/avx2/include/api.h +@@ -3,16 +3,8 @@ + + #include + +-#define JADE_KEM_kyber_kyber768_amd64_avx2_SECRETKEYBYTES 2400 +-#define JADE_KEM_kyber_kyber768_amd64_avx2_PUBLICKEYBYTES 1184 +-#define JADE_KEM_kyber_kyber768_amd64_avx2_CIPHERTEXTBYTES 1088 + #define JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES 64 + #define JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES 32 +-#define JADE_KEM_kyber_kyber768_amd64_avx2_BYTES 32 +- +-#define JADE_KEM_kyber_kyber768_amd64_avx2_ALGNAME "Kyber768" +-#define JADE_KEM_kyber_kyber768_amd64_avx2_ARCH "amd64" +-#define JADE_KEM_kyber_kyber768_amd64_avx2_IMPL "avx2" + + int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand( + uint8_t *public_key, +@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber768_amd64_avx2_keypair( ++int libjade_kyber768_avx2_keypair( + uint8_t *public_key, + uint8_t *secret_key + ); +@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber768_amd64_avx2_enc_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber768_amd64_avx2_enc( ++int libjade_kyber768_avx2_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber768_amd64_avx2_dec( + const uint8_t *secret_key + ); + ++int libjade_kyber768_avx2_dec( ++ uint8_t *shared_secret, ++ const uint8_t *ciphertext, ++ const uint8_t *secret_key ++); ++ + #endif +diff --git a/src/crypto_kem/kyber/kyber768/amd64/ref/api.c b/src/crypto_kem/kyber/kyber768/amd64/ref/api.c +new file mode 100644 +index 0000000..b9a29b6 +--- /dev/null ++++ b/src/crypto_kem/kyber/kyber768/amd64/ref/api.c +@@ -0,0 +1,20 @@ ++#include ++#include "api.h" ++ ++int libjade_kyber768_ref_keypair(uint8_t *public_key, uint8_t *secret_key) { ++ uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES]; ++ OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2); ++ OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2); ++ return jade_kem_kyber_kyber768_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins); ++} ++ ++int libjade_kyber768_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { ++ uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES]; ++ OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES); ++ return jade_kem_kyber_kyber768_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins); ++} ++ ++int libjade_kyber768_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { ++ return jade_kem_kyber_kyber768_amd64_ref_dec(shared_secret, ciphertext, secret_key); ++} ++ +diff --git a/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h b/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h +index e23e1bf..0c453e0 100644 +--- a/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h ++++ b/src/crypto_kem/kyber/kyber768/amd64/ref/include/api.h +@@ -3,16 +3,8 @@ + + #include + +-#define JADE_KEM_kyber_kyber768_amd64_ref_SECRETKEYBYTES 2400 +-#define JADE_KEM_kyber_kyber768_amd64_ref_PUBLICKEYBYTES 1184 +-#define JADE_KEM_kyber_kyber768_amd64_ref_CIPHERTEXTBYTES 1088 + #define JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES 64 + #define JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES 32 +-#define JADE_KEM_kyber_kyber768_amd64_ref_BYTES 32 +- +-#define JADE_KEM_kyber_kyber768_amd64_ref_ALGNAME "Kyber768" +-#define JADE_KEM_kyber_kyber768_amd64_ref_ARCH "amd64" +-#define JADE_KEM_kyber_kyber768_amd64_ref_IMPL "ref" + + int jade_kem_kyber_kyber768_amd64_ref_keypair_derand( + uint8_t *public_key, +@@ -20,7 +12,7 @@ int jade_kem_kyber_kyber768_amd64_ref_keypair_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber768_amd64_ref_keypair( ++int libjade_kyber768_ref_keypair( + uint8_t *public_key, + uint8_t *secret_key + ); +@@ -32,7 +24,7 @@ int jade_kem_kyber_kyber768_amd64_ref_enc_derand( + const uint8_t *coins + ); + +-int jade_kem_kyber_kyber768_amd64_ref_enc( ++int libjade_kyber768_ref_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +@@ -44,4 +36,10 @@ int jade_kem_kyber_kyber768_amd64_ref_dec( + const uint8_t *secret_key + ); + ++int libjade_kyber768_ref_dec( ++ uint8_t *shared_secret, ++ const uint8_t *ciphertext, ++ const uint8_t *secret_key ++); ++ + #endif diff --git a/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch b/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch new file mode 100644 index 000000000..d511c61c3 --- /dev/null +++ b/scripts/copy_from_upstream/patches/libjade-kyber-meta.patch @@ -0,0 +1,120 @@ +diff --git a/src/crypto_kem/kyber/kyber512/META.yml b/src/crypto_kem/kyber/kyber512/META.yml +index 000ec75..8282075 100644 +--- a/src/crypto_kem/kyber/kyber512/META.yml ++++ b/src/crypto_kem/kyber/kyber512/META.yml +@@ -1,7 +1,6 @@ + name: Kyber512 + type: kem +-checksumsmall: 9c1a84c0573d21b5fb50ff68f015c19206cebbda4aa3caa6f9ba4b167eea9514 +-checksumbig: 4596232083e3da10d341576afbc59b24a520073e985a9b9df2d587e67e926a7b ++nistkat-sha256: bb0481d3325d828817900b709d23917cefbc10026fc857f098979451f67bb0ca + claimed-nist-level: 1 + claimed-security: IND-CCA2 + length-public-key: 800 +@@ -9,23 +8,36 @@ length-ciphertext: 768 + length-secret-key: 1632 + length-shared-secret: 32 + principal-submitters: +- - TODO ++ - Peter Schwabe + auxiliary-submitters: +- - TODO ++ - Roberto Avanzi ++ - Joppe Bos ++ - Léo Ducas ++ - Eike Kiltz ++ - Tancrède Lepoint ++ - Vadim Lyubashevsky ++ - John M. Schanck ++ - Gregor Seiler ++ - Damien Stehlé + implementations: +- - name: amd64/ref +- version: TODO ++ - name: ref ++ version: NIST Round 3 submission ++ folder_name: amd64/ref ++ signature_keypair: libjade_kyber512_ref_keypair ++ signature_enc: libjade_kyber512_ref_enc ++ signature_dec: libjade_kyber512_ref_dec + supported_platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin +- required_flags: # FIXME +- - avx2 +- - bmi2 +- - popcnt +- - name: amd64/avx2 +- version: TODO ++ required_flags: [] ++ - name: avx2 ++ version: NIST Round 3 submission ++ folder_name: amd64/avx2 ++ signature_keypair: libjade_kyber512_avx2_keypair ++ signature_enc: libjade_kyber512_avx2_enc ++ signature_dec: libjade_kyber512_avx2_dec + supported_platforms: + - architecture: x86_64 + operating_systems: +diff --git a/src/crypto_kem/kyber/kyber768/META.yml b/src/crypto_kem/kyber/kyber768/META.yml +index d744938..57cb0c7 100644 +--- a/src/crypto_kem/kyber/kyber768/META.yml ++++ b/src/crypto_kem/kyber/kyber768/META.yml +@@ -1,7 +1,6 @@ + name: Kyber768 + type: kem +-checksumsmall: 456bb24a767160dcca466adde267b87f359de6e827d31b5b23512d227d8bbfaa +-checksumbig: 8004a42f34a4125acb4f88628139576882cdf9502a77937003e34f52d217a730 ++nistkat-sha256: 89e82a5bf2d4ddb2c6444e10409e6d9ca65dafbca67d1a0db2c9b54920a29172 + claimed-nist-level: 3 + claimed-security: IND-CCA2 + length-public-key: 1184 +@@ -9,23 +8,36 @@ length-ciphertext: 1088 + length-secret-key: 2400 + length-shared-secret: 32 + principal-submitters: +- - TODO ++ - Peter Schwabe + auxiliary-submitters: +- - TODO ++ - Roberto Avanzi ++ - Joppe Bos ++ - Léo Ducas ++ - Eike Kiltz ++ - Tancrède Lepoint ++ - Vadim Lyubashevsky ++ - John M. Schanck ++ - Gregor Seiler ++ - Damien Stehlé + implementations: +- - name: amd64/ref +- version: TODO ++ - name: ref ++ version: NIST Round 3 submission ++ folder_name: amd64/ref ++ signature_keypair: libjade_kyber768_ref_keypair ++ signature_enc: libjade_kyber768_ref_enc ++ signature_dec: libjade_kyber768_ref_dec + supported_platforms: + - architecture: x86_64 + operating_systems: + - Linux + - Darwin +- required_flags: # FIXME +- - avx2 +- - bmi2 +- - popcnt +- - name: amd64/avx2 +- version: TODO ++ required_flags: [] ++ - name: avx2 ++ version: NIST Round 3 submission ++ folder_name: amd64/avx2 ++ signature_keypair: libjade_kyber768_avx2_keypair ++ signature_enc: libjade_kyber768_avx2_enc ++ signature_dec: libjade_kyber768_avx2_dec + supported_platforms: + - architecture: x86_64 + operating_systems: diff --git a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt index 0c6003031..ca9d41eac 100644 --- a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt +++ b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt @@ -65,5 +65,11 @@ endif() {%- endfor -%} {%- endfor %} +{% if libjade_implementation is defined -%} +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_START + +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_END +{% endif -%} + set({{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} PARENT_SCOPE) diff --git a/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade new file mode 100644 index 000000000..8df1271f2 --- /dev/null +++ b/scripts/copy_from_upstream/src/kem/family/CMakeLists.txt.libjade @@ -0,0 +1,61 @@ + +{%- if common_deps is defined %} + {%- for common_dep in common_deps %} + +if({% for used_by in common_deps_usedby[common_dep['name']] -%}OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ used_by['scheme_c'] }}{%- if used_by['impl_name'] != default_implementation %}_{{ used_by['impl_name'] }}{% endif -%}{%- if not loop.last %} OR {% endif -%}{%- endfor -%}) + add_library(jasmin_{{ family }}_{{ common_dep['name'] }} OBJECT {% for source_file in common_dep['sources_addl']|sort -%}{{ upstream_location }}_{{ common_dep['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%}) + target_include_directories(jasmin_{{ family }}_{{ common_dep['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ upstream_location }}_{{ common_dep['name'] }}) + {%- if common_dep['required_flags'] %} + target_compile_options(jasmin_{{ family }}_{{ common_dep['name'] }} PRIVATE {%- for flag in common_dep['required_flags'] %}{%- if flag != 'arm_neon' %} -m{%- if flag == 'bmi1' -%} bmi {%- elif flag == 'sse4_1' -%} sse4.1 {%- elif flag == 'pclmulqdq' -%} pclmul {%- else -%}{{ flag }}{%- endif -%}{%- endif -%}{%- endfor -%}) + {%- endif %} + {%- if common_dep['compile_opts'] %} + target_compile_options(jasmin_{{ family }}_{{ common_dep['name'] }} PUBLIC {{ common_dep['compile_opts'] }}) + {%- endif %} + set(_{{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} $) +endif() + + {%- endfor %} +{%- endif %} + +{%- for scheme in schemes -%} + {%- for impl in scheme['metadata']['implementations'] -%} + {%- if impl['name'] == scheme['default_implementation'] %} + +if(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme_c'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %}) + add_library(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%}) + {%- if impl['compile_opts'] %} + target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }}) + {%- endif -%} + + {%- else %} + +if(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}{%- endif %}) + add_library(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%}) + {%- endif %} + target_include_directories(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}) + target_include_directories(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims) + {%- if impl['name'] != scheme['default_implementation'] and impl['required_flags'] -%} + {%- set opts %}{% for flag in impl['required_flags'] %}{%- if flag != 'arm_neon' %} -m{%- if flag == 'bmi1' -%} bmi {% elif flag == 'sse4_1' -%} sse4.1 {% elif flag == 'pclmulqdq' -%} pclmul {% else -%}{{ flag }} {% endif %}{% endif -%}{% endfor %}{% endset %} + {%- if opts|length > 0 %} + target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE {{ opts }}) + {%- endif -%} + {%- endif %} + {%- if impl['compile_opts'] %} + target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }}) + {%- endif %} + {%- if family == 'classic_mceliece' and impl['name'] == 'avx2' %} + target_compile_options(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-language-extension-token -O1) + {%- endif %} + {%- if family == 'hqc' and impl['name'] == 'avx2' %} + target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE -Wno-missing-braces) + {%- endif %} + {%- if impl['upstream']['name'].endswith('pqclean') %} + if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + target_compile_definitions(jasmin_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE old_gas_syntax) + endif() + {%- endif %} + set(_{{ family|upper }}_OBJS ${_{{ family|upper }}_OBJS} $) +endif() + {%- endfor -%} +{%- endfor %} + diff --git a/scripts/copy_from_upstream/src/kem/family/kem_scheme.c b/scripts/copy_from_upstream/src/kem/family/kem_scheme.c index a78b30fb5..2560d1794 100644 --- a/scripts/copy_from_upstream/src/kem/family/kem_scheme.c +++ b/scripts/copy_from_upstream/src/kem/family/kem_scheme.c @@ -115,7 +115,57 @@ extern int PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper #endif {%- endfor %} +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +{% for scheme in schemes -%} + +{%- for impl in scheme['metadata']['implementations'] if impl['name'] in scheme['libjade_implementations'] %} +#if defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}{%- if impl['name'] != scheme['default_implementation'] %}_{{ impl['name'] }}{%- endif %}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} +extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_keypair(uint8_t *pk, uint8_t *sk); +extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk); +extern int libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); +#endif +{% endfor -%} +{% endfor -%} +{% endif %} + OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *public_key, uint8_t *secret_key) { +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %}) +{%- for scheme in schemes %} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %} + {%- if loop.first %} +#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- else %} +#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) { +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- if impl['name'] in scheme['libjade_implementations'] %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_keypair(public_key, secret_key); + {%- else %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_keypair(public_key, secret_key); + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_keypair(public_key, secret_key); + } +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- endfor %} + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#else + {%- endif %} + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_keypair(public_key, secret_key); + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#endif + {%- endif %} +{% endfor -%} +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/ +{%- endif %} {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %} {%- if loop.first %} #if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} @@ -147,9 +197,49 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t * {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} #endif {%- endif %} +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#endif /* OQS_LIBJADE_BUILD */ +{%- endif %} } OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %}) +{%- for scheme in schemes %} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %} + {%- if loop.first %} +#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- else %} +#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) { +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- if impl['name'] in scheme['libjade_implementations'] %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_enc(ciphertext, shared_secret, public_key); + {%- else %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_enc(ciphertext, shared_secret, public_key); + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_enc(ciphertext, shared_secret, public_key); + } +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- endfor %} + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#else + {%- endif %} + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_enc(ciphertext, shared_secret, public_key); + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#endif + {%- endif %} +{% endfor -%} +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/ +{%- endif %} {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %} {%- if loop.first %} #if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} @@ -181,9 +271,49 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *c {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} #endif {%- endif %} +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#endif /* OQS_LIBJADE_BUILD */ +{%- endif %} } OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %}) +{%- for scheme in schemes %} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] and impl['name'] in scheme['libjade_implementations'] %} + {%- if loop.first %} +#if defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- else %} +#elif defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_{%- if impl['name'] in scheme['libjade_implementations'] %}LIBJADE_{%- endif %}KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + if ({%- for flag in impl['required_flags'] -%}OQS_CPU_has_extension(OQS_CPU_EXT_{{ flag|upper }}){%- if not loop.last %} && {% endif -%}{%- endfor -%}) { +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- if impl['name'] in scheme['libjade_implementations'] %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_{{ impl['name'] }}_dec(shared_secret, ciphertext, secret_key); + {%- else %} + {% if 'required_flags' in impl and impl['required_flags'] %} {% endif -%}return (OQS_STATUS) PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper }}_crypto_kem_dec(shared_secret, ciphertext, secret_key); + {%- endif %} + {%- if 'required_flags' in impl and impl['required_flags'] %} +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_dec(shared_secret, ciphertext, secret_key); + } +#endif /* OQS_DIST_BUILD */ + {%- endif -%} + {%- endfor %} + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#else + {%- endif %} + return (OQS_STATUS) libjade_{{ scheme['pqclean_scheme_c'] }}_ref_dec(shared_secret, ciphertext, secret_key); + {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} +#endif + {%- endif %} +{% endfor -%} +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['scheme'] }} {%- if 'alias_scheme' in scheme %} || OQS_ENABLE_LIBJADE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})*/ +{%- endif %} {%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %} {%- if loop.first %} #if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %} @@ -215,6 +345,9 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_decaps(uint8_t *s {%- if scheme['metadata']['implementations']|rejectattr('name', 'equalto', scheme['default_implementation'])|list %} #endif {%- endif %} +{%- if libjade_implementation is defined and scheme['libjade_implementation'] %} +#endif /* OQS_LIBJADE_BUILD */ +{%- endif %} } #endif diff --git a/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade b/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade new file mode 100644 index 000000000..cb4b25c7a --- /dev/null +++ b/scripts/copy_from_upstream/src/oqsconfig.h.cmake/add_alg_enable_defines.libjade @@ -0,0 +1,36 @@ +{% for family in instructions['kems'] %} + +#cmakedefine01 OQS_LIBJADE_BUILD + +#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name']|upper }} 1 + {%- for scheme in family['schemes'] %} +#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }} 1 +{%- if 'alias_scheme' in scheme %} +#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }} 1 +{%- endif -%} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %} +#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1 +{%- if 'alias_scheme' in scheme %} +#cmakedefine OQS_ENABLE_LIBJADE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1 +{%- endif -%} + {%- endfor -%} + {%- endfor -%} +{% endfor -%} + +{% for family in instructions['sigs'] %} + +#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name']|upper }} 1 + {%- for scheme in family['schemes'] %} +#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }} 1 +{%- if 'alias_scheme' in scheme %} +#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }} 1 +{%- endif -%} + {%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %} +#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1 +{%- if 'alias_scheme' in scheme %} +#cmakedefine OQS_ENABLE_LIBJADE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1 +{%- endif -%} + {%- endfor -%} + {%- endfor -%} +{% endfor %} + diff --git a/scripts/copy_from_upstream/update_upstream_alg_docs.py b/scripts/copy_from_upstream/update_upstream_alg_docs.py index 706c2ed7f..9bcc98eb1 100755 --- a/scripts/copy_from_upstream/update_upstream_alg_docs.py +++ b/scripts/copy_from_upstream/update_upstream_alg_docs.py @@ -171,51 +171,125 @@ def update_upstream_kem_alg_docs(liboqs_root, kems, upstream_info, write_changes _upstream_yaml = upstream_yaml for impl_index, impl in enumerate(oqs_scheme_yaml['implementations']): - upstream_yaml = _upstream_yaml - if impl['upstream'] in ouis: - upstream_name = impl['upstream'] - meta_yaml_path_template = ouis[upstream_name]['kem_meta_path'] - opt_upstream_root = ouis[upstream_name]['upstream_root'] - upstream_meta_path = os.path.join(opt_upstream_root, meta_yaml_path_template.format_map(scheme)) - upstream_yaml = load_yaml(upstream_meta_path) + if impl['upstream'] != 'libjade': + upstream_yaml = _upstream_yaml + if impl['upstream'] in ouis: + upstream_name = impl['upstream'] + meta_yaml_path_template = ouis[upstream_name]['kem_meta_path'] + opt_upstream_root = ouis[upstream_name]['upstream_root'] + upstream_meta_path = os.path.join(opt_upstream_root, meta_yaml_path_template.format_map(scheme)) + upstream_yaml = load_yaml(upstream_meta_path) + + for upstream_impl in upstream_yaml['implementations']: + if impl['upstream-id'] == upstream_impl['name']: + break + # Logic to add Common_META.yml components + + implementations = upstream_yaml['implementations'] + uir = get_upstream_info(implementations, impl['upstream-id']) + if (uir != None) and ('common_dep' in uir): + upstream_common_path = upstream_meta_path.replace(scheme['pretty_name_full'], "Common") + upstream_common_yaml = load_yaml(upstream_common_path) + for c in uir['common_dep'].split(' '): + ur = get_upstream_info(upstream_common_yaml['commons'], c) + if (ur != None) and ('supported_platforms' in ur): + if 'required_flags' in ur['supported_platforms'][0] and not ur['supported_platforms'][0]['required_flags']: + del ur['supported_platforms'][0]['required_flags'] + if 'required_flags' in ur['supported_platforms'][0].keys(): + upstream_impl['supported_platforms'][0]['required_flags']=list(set(upstream_impl['supported_platforms'][0]['required_flags']+ur['supported_platforms'][0]['required_flags'])) + upstream_impl['supported_platforms'][0]['required_flags'].sort() + if 'supported_platforms' in upstream_impl: + for i in range(len(upstream_impl['supported_platforms'])): + if upstream_impl['supported_platforms'][i]['architecture'] == 'arm_8': + upstream_impl['supported_platforms'][i]['architecture'] = 'ARM64_V8' + if 'asimd' in upstream_impl['supported_platforms'][i]['required_flags']: + upstream_impl['supported_platforms'][i]['required_flags'].remove('asimd') + if not upstream_impl['supported_platforms'][i]['required_flags']: + del upstream_impl['supported_platforms'][i]['required_flags'] + + impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], upstream_impl['supported_platforms'], "supported-platforms") + else: + impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], "all", "supported-platforms") + oqs_scheme_yaml['implementations'][impl_index] = impl + + oqs_yaml['parameter-sets'][index] = oqs_scheme_yaml + + if write_changes: + store_yaml(oqs_yaml_path, oqs_yaml) + + +# Merge documentation in liboqs_root/docs/algorithms/kem/kem['name'].yml with +# upstream information from libjade (patched with copy_from_upstream.py): +# Args: +# kems: List of kems in copy_from_libjade.yml +# upstream_info: Hashtable of upstream information (keyed by upstream source) +# incl. entry: 'upstream_root' pointing to local folder containing source code +def update_libjade_kem_alg_docs(liboqs_root, kems, upstream_info, write_changes=False): + for kem in kems: + ui = get_upstream_info(upstream_info, kem['upstream_location']) + upstream_root = ui['upstream_root'] + meta_yaml_path_template = ui['kem_meta_path'] + oqs_yaml_path = os.path.join(liboqs_root, 'docs', 'algorithms', 'kem', '{}.yml'.format(kem['name'])) + oqs_yaml = load_yaml(oqs_yaml_path) + # We cannot assume that the ordering of "parameter-sets" + # in the OQS YAML files matches that of copy_from_upstream.yml + # hence use helper function get_oqs_yaml(alg_name) + for scheme in kem['schemes']: + scheme['family'] = kem['name'] + upstream_meta_path = os.path.join(upstream_root, meta_yaml_path_template.format_map(scheme)) + upstream_yaml = load_yaml(upstream_meta_path) + + oqs_yaml['type'] = rhs_if_not_equal(oqs_yaml['type'], upstream_yaml['type'], "type") + + oqs_yaml['principal-submitters'] = rhs_if_not_equal(oqs_yaml['principal-submitters'], upstream_yaml['principal-submitters'], "principal-submitters") + if 'auxiliary-submitters' in upstream_yaml: + oqs_yaml['auxiliary-submitters'] = rhs_if_not_equal(oqs_yaml['auxiliary-submitters'] if 'auxiliary-submitters' in oqs_yaml else '', upstream_yaml['auxiliary-submitters'], "auxiliary-submitters") + + for upstream in upstream_info: + verified_upstream_base_url = upstream['git_url'][:-len(".git")] + for patchfilename in upstream['patches']: + if kem['name'] in patchfilename: + patches_done=" with copy_from_upstream patches" + patches_done="" + if 'patches' in upstream: + for patchfilename in upstream['patches']: + if kem['name'] in patchfilename: + patches_done=" with copy_from_upstream patches" + if 'formally-verified-upstreams' in oqs_yaml and upstream['name'] in oqs_yaml['formally-verified-upstreams']: + + lhs = oqs_yaml['formally-verified-upstreams'][upstream['name']]['source'] + else: + lhs = '' + git_branch = upstream['git_branch'] + oqs_yaml['formally-verified-upstreams'][upstream['name']]['source'] = rhs_if_not_equal(lhs, ("{}/tree/{}"+patches_done).format(verified_upstream_base_url, git_branch), "formally-verified-upstreams") + + index, oqs_scheme_yaml = get_oqs_yaml(oqs_yaml['parameter-sets'], scheme['pretty_name_full']) + + oqs_scheme_yaml['claimed-nist-level'] = rhs_if_not_equal(oqs_scheme_yaml['claimed-nist-level'], upstream_yaml['claimed-nist-level'], "claimed-nist-level") + oqs_scheme_yaml['claimed-security'] = rhs_if_not_equal(oqs_scheme_yaml['claimed-security'], upstream_yaml['claimed-security'], "claimed-security") + oqs_scheme_yaml['length-public-key'] = rhs_if_not_equal(oqs_scheme_yaml['length-public-key'], upstream_yaml['length-public-key'], "length-public-key") + oqs_scheme_yaml['length-ciphertext'] = rhs_if_not_equal(oqs_scheme_yaml['length-ciphertext'], upstream_yaml['length-ciphertext'], "length-ciphertext") + oqs_scheme_yaml['length-secret-key'] = rhs_if_not_equal(oqs_scheme_yaml['length-secret-key'], upstream_yaml['length-secret-key'], "legnth-secret-key") + oqs_scheme_yaml['length-shared-secret'] = rhs_if_not_equal(oqs_scheme_yaml['length-shared-secret'], upstream_yaml['length-shared-secret'], "length-shared-secret") + + for impl_index, impl in enumerate(oqs_scheme_yaml['implementations']): + if impl['upstream'] == kem['upstream_location']: for upstream_impl in upstream_yaml['implementations']: if impl['upstream-id'] == upstream_impl['name']: break - # Logic to add Common_META.yml components - - implementations = upstream_yaml['implementations'] - uir = get_upstream_info(implementations, impl['upstream-id']) - if (uir != None) and ('common_dep' in uir): - upstream_common_path = upstream_meta_path.replace(scheme['pretty_name_full'], "Common") - upstream_common_yaml = load_yaml(upstream_common_path) - for c in uir['common_dep'].split(' '): - ur = get_upstream_info(upstream_common_yaml['commons'], c) - if (ur != None) and ('supported_platforms' in ur): - if 'required_flags' in ur['supported_platforms'][0] and not ur['supported_platforms'][0]['required_flags']: - del ur['supported_platforms'][0]['required_flags'] - if 'required_flags' in ur['supported_platforms'][0].keys(): - upstream_impl['supported_platforms'][0]['required_flags']=list(set(upstream_impl['supported_platforms'][0]['required_flags']+ur['supported_platforms'][0]['required_flags'])) - upstream_impl['supported_platforms'][0]['required_flags'].sort() if 'supported_platforms' in upstream_impl: - for i in range(len(upstream_impl['supported_platforms'])): - if upstream_impl['supported_platforms'][i]['architecture'] == 'arm_8': - upstream_impl['supported_platforms'][i]['architecture'] = 'ARM64_V8' - if 'asimd' in upstream_impl['supported_platforms'][i]['required_flags']: - upstream_impl['supported_platforms'][i]['required_flags'].remove('asimd') - if not upstream_impl['supported_platforms'][i]['required_flags']: - del upstream_impl['supported_platforms'][i]['required_flags'] - impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], upstream_impl['supported_platforms'], "supported-platforms") - else: - impl['supported-platforms'] = rhs_if_not_equal(impl['supported-platforms'], "all", "supported-platforms") + for i in range(len(impl['supported-platforms'])): + if not impl['supported-platforms'][i]['required_flags']: + del impl['supported-platforms'][i]['required_flags'] + oqs_scheme_yaml['implementations'][impl_index] = impl oqs_yaml['parameter-sets'][index] = oqs_scheme_yaml - - if write_changes: - store_yaml(oqs_yaml_path, oqs_yaml) - + if write_changes: + store_yaml(oqs_yaml_path, oqs_yaml) + def update_upstream_sig_alg_docs(liboqs_root, sigs, upstream_info, write_changes=False): @@ -368,7 +442,7 @@ def update_upstream_sig_alg_docs(liboqs_root, sigs, upstream_info, write_changes store_yaml(oqs_yaml_path, oqs_yaml) -def do_it(liboqs_root): +def do_it(liboqs_root, upstream_location='upstream'): global DEBUG if liboqs_root == None: parser = argparse.ArgumentParser() @@ -388,15 +462,18 @@ def do_it(liboqs_root): if not write_changes: print("--write-changes not set; changes will not be written out.") instructions = load_yaml( - os.path.join(liboqs_root, 'scripts', 'copy_from_upstream', 'copy_from_upstream.yml'), + os.path.join(liboqs_root, 'scripts', 'copy_from_upstream', 'copy_from_{}.yml'.format(upstream_location)), encoding='utf-8') for upstream in instructions['upstreams']: if 'git_url' in upstream.keys(): upstream['upstream_root'] = fetch_upstream(liboqs_root, upstream) - update_upstream_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes) - update_upstream_sig_alg_docs(liboqs_root, instructions['sigs'], instructions['upstreams'], write_changes) + if upstream_location == 'libjade': + update_libjade_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes) + else: + update_upstream_kem_alg_docs(liboqs_root, instructions['kems'], instructions['upstreams'], write_changes) + update_upstream_sig_alg_docs(liboqs_root, instructions['sigs'], instructions['upstreams'], write_changes) if __name__ == "__main__": do_it(None) diff --git a/scripts/update_cbom.py b/scripts/update_cbom.py index e3375d7f9..c4fd197ae 100644 --- a/scripts/update_cbom.py +++ b/scripts/update_cbom.py @@ -118,7 +118,13 @@ def add_cbom_component(out, kem_yaml, parameter_set): if plat['architecture'] in dic.keys(): algorithmProperties['implementationPlatform'] = dic[plat['architecture']] component_cpy = copy.deepcopy(component) - component_cpy['bom-ref'] += ":" + algorithmProperties['implementationPlatform'] + if 'upstream' in impl and impl['upstream'] == 'libjade': + tag = ":jasmin:" + if any('required_flags' in i for i in impl['supported-platforms']): + tag += impl['upstream-id'] + ':' + component_cpy['bom-ref'] += tag + algorithmProperties['implementationPlatform'] + else: + component_cpy['bom-ref'] += ":" + algorithmProperties['implementationPlatform'] cbom_components.append(component_cpy) bom_algs_bomrefs.append(component_cpy['bom-ref']) if dep: diff --git a/scripts/update_docs_from_yaml.py b/scripts/update_docs_from_yaml.py index a07a81c2d..2535d0ffa 100644 --- a/scripts/update_docs_from_yaml.py +++ b/scripts/update_docs_from_yaml.py @@ -48,6 +48,12 @@ def do_it(liboqs_root): out_md.write(' - **{}**:\n'.format(opt_upstream, opt_upstream)) out_md.write(' - **Source**: {}\n'.format(kem_yaml['optimized-upstreams'][opt_upstream]['source'])) out_md.write(' - **Implementation license (SPDX-Identifier)**: {}\n'.format(kem_yaml['optimized-upstreams'][opt_upstream]['spdx-license-identifier'])) + if 'formally-verified-upstreams' in kem_yaml: + out_md.write('- **Formally-verified Implementation sources**: \n') + for opt_upstream in kem_yaml['formally-verified-upstreams']: + out_md.write(' - **{}**:\n'.format(opt_upstream, opt_upstream)) + out_md.write(' - **Source**: {}\n'.format(kem_yaml['formally-verified-upstreams'][opt_upstream]['source'])) + out_md.write(' - **Implementation license (SPDX-Identifier)**: {}\n'.format(kem_yaml['formally-verified-upstreams'][opt_upstream]['spdx-license-identifier'])) if 'upstream-ancestors' in kem_yaml: out_md.write('- **Ancestors of primary source**:\n') for url in kem_yaml['upstream-ancestors'][:-1]: diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index d82b4ea26..958375fc0 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -71,6 +71,12 @@ else() # using XKCP set(SHA3_IMPL sha3/xkcp_sha3.c sha3/xkcp_sha3x4.c) endif() +if ((OQS_LIBJADE_BUILD STREQUAL "ON")) + set(LIBJADE_RANDOMBYTES libjade_shims/libjade_randombytes.c) +else() + set(LIBJADE_RANDOMBYTES "") +endif() + add_library(common OBJECT ${AES_IMPL} aes/aes.c ${SHA2_IMPL} sha2/sha2.c ${SHA3_IMPL} sha3/sha3.c sha3/sha3x4.c @@ -78,6 +84,7 @@ add_library(common OBJECT ${AES_IMPL} aes/aes.c common.c pqclean_shims/fips202.c pqclean_shims/fips202x4.c + ${LIBJADE_RANDOMBYTES} rand/rand.c) # Implementations of the internal API to be exposed to test programs diff --git a/src/common/libjade_shims/libjade_randombytes.c b/src/common/libjade_shims/libjade_randombytes.c new file mode 100644 index 000000000..84a0102d3 --- /dev/null +++ b/src/common/libjade_shims/libjade_randombytes.c @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: Apache-2.0 OR CC0-1.0 + +#if defined(__unix__) || defined(__APPLE__) +#include +#include "libjade_randombytes.h" + +void __jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) { + OQS_randombytes(_x, xlen); +} +#endif diff --git a/src/common/libjade_shims/libjade_randombytes.h b/src/common/libjade_shims/libjade_randombytes.h new file mode 100644 index 000000000..9b6dd62c6 --- /dev/null +++ b/src/common/libjade_shims/libjade_randombytes.h @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: Apache-2.0 OR CC0-1.0 + +#if defined(__unix__) || defined(__APPLE__) +#ifndef LIBJADE_RANDOMBYTES_H +#define LIBJADE_RANDOMBYTES_H + +#include +#include + +void __jasmin_syscall_randombytes__(uint8_t *_x, uint64_t xlen) __asm__("__jasmin_syscall_randombytes__"); + +#endif // LIBJADE_RANDOMBYTES_H +#endif diff --git a/src/kem/kyber/CMakeLists.txt b/src/kem/kyber/CMakeLists.txt index 948fc0880..c1e3e845c 100644 --- a/src/kem/kyber/CMakeLists.txt +++ b/src/kem/kyber/CMakeLists.txt @@ -89,4 +89,36 @@ if(OQS_ENABLE_KEM_kyber_1024_aarch64) set(_KYBER_OBJS ${_KYBER_OBJS} $) endif() +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_START + +if(OQS_ENABLE_LIBJADE_KEM_kyber_512) + add_library(jasmin_kyber_512_ref OBJECT libjade_kyber512_ref/api.c libjade_kyber512_ref/kem.S) + target_include_directories(jasmin_kyber_512_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber512_ref) + target_include_directories(jasmin_kyber_512_ref PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims) + set(_KYBER_OBJS ${_KYBER_OBJS} $) +endif() + +if(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2) + add_library(jasmin_kyber_512_avx2 OBJECT libjade_kyber512_avx2/api.c libjade_kyber512_avx2/kem.S) + target_include_directories(jasmin_kyber_512_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber512_avx2) + target_include_directories(jasmin_kyber_512_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims) + target_compile_options(jasmin_kyber_512_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt ) + set(_KYBER_OBJS ${_KYBER_OBJS} $) +endif() + +if(OQS_ENABLE_LIBJADE_KEM_kyber_768) + add_library(jasmin_kyber_768_ref OBJECT libjade_kyber768_ref/api.c libjade_kyber768_ref/kem.S) + target_include_directories(jasmin_kyber_768_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber768_ref) + target_include_directories(jasmin_kyber_768_ref PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims) + set(_KYBER_OBJS ${_KYBER_OBJS} $) +endif() + +if(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2) + add_library(jasmin_kyber_768_avx2 OBJECT libjade_kyber768_avx2/api.c libjade_kyber768_avx2/kem.S) + target_include_directories(jasmin_kyber_768_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libjade_kyber768_avx2) + target_include_directories(jasmin_kyber_768_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/libjade_shims) + target_compile_options(jasmin_kyber_768_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt ) + set(_KYBER_OBJS ${_KYBER_OBJS} $) +endif() +##### OQS_COPY_FROM_LIBJADE_FRAGMENT_CMAKELISTS_END set(KYBER_OBJS ${_KYBER_OBJS} PARENT_SCOPE) diff --git a/src/kem/kyber/kem_kyber_512.c b/src/kem/kyber/kem_kyber_512.c index a226787f6..e2b870713 100644 --- a/src/kem/kyber/kem_kyber_512.c +++ b/src/kem/kyber/kem_kyber_512.c @@ -46,7 +46,35 @@ extern int PQCLEAN_KYBER512_AARCH64_crypto_kem_enc(uint8_t *ct, uint8_t *ss, con extern int PQCLEAN_KYBER512_AARCH64_crypto_kem_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); #endif +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512) +extern int libjade_kyber512_ref_keypair(uint8_t *pk, uint8_t *sk); +extern int libjade_kyber512_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk); +extern int libjade_kyber512_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); +#endif + +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2) +extern int libjade_kyber512_avx2_keypair(uint8_t *pk, uint8_t *sk); +extern int libjade_kyber512_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk); +extern int libjade_kyber512_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); +#endif + + OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secret_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber512_avx2_keypair(public_key, secret_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber512_ref_keypair(public_key, secret_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber512_ref_keypair(public_key, secret_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/ #if defined(OQS_ENABLE_KEM_kyber_512_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -70,9 +98,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secre #else return (OQS_STATUS) pqcrystals_kyber512_ref_keypair(public_key, secret_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber512_avx2_enc(ciphertext, shared_secret, public_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber512_ref_enc(ciphertext, shared_secret, public_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber512_ref_enc(ciphertext, shared_secret, public_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/ #if defined(OQS_ENABLE_KEM_kyber_512_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -96,9 +140,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared #else return (OQS_STATUS) pqcrystals_kyber512_ref_enc(ciphertext, shared_secret, public_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_512)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber512_avx2_dec(shared_secret, ciphertext, secret_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber512_ref_dec(shared_secret, ciphertext, secret_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber512_ref_dec(shared_secret, ciphertext, secret_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_512)*/ #if defined(OQS_ENABLE_KEM_kyber_512_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -122,6 +182,7 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_ #else return (OQS_STATUS) pqcrystals_kyber512_ref_dec(shared_secret, ciphertext, secret_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } #endif diff --git a/src/kem/kyber/kem_kyber_768.c b/src/kem/kyber/kem_kyber_768.c index bc21b0038..d1b792b5c 100644 --- a/src/kem/kyber/kem_kyber_768.c +++ b/src/kem/kyber/kem_kyber_768.c @@ -46,7 +46,35 @@ extern int PQCLEAN_KYBER768_AARCH64_crypto_kem_enc(uint8_t *ct, uint8_t *ss, con extern int PQCLEAN_KYBER768_AARCH64_crypto_kem_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); #endif +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768) +extern int libjade_kyber768_ref_keypair(uint8_t *pk, uint8_t *sk); +extern int libjade_kyber768_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk); +extern int libjade_kyber768_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); +#endif + +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2) +extern int libjade_kyber768_avx2_keypair(uint8_t *pk, uint8_t *sk); +extern int libjade_kyber768_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk); +extern int libjade_kyber768_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk); +#endif + + OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secret_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber768_avx2_keypair(public_key, secret_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber768_ref_keypair(public_key, secret_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber768_ref_keypair(public_key, secret_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/ #if defined(OQS_ENABLE_KEM_kyber_768_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -70,9 +98,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secre #else return (OQS_STATUS) pqcrystals_kyber768_ref_keypair(public_key, secret_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber768_avx2_enc(ciphertext, shared_secret, public_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber768_ref_enc(ciphertext, shared_secret, public_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber768_ref_enc(ciphertext, shared_secret, public_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/ #if defined(OQS_ENABLE_KEM_kyber_768_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -96,9 +140,25 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared #else return (OQS_STATUS) pqcrystals_kyber768_ref_enc(ciphertext, shared_secret, public_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { +#if defined(OQS_LIBJADE_BUILD) && (defined(OQS_ENABLE_LIBJADE_KEM_kyber_768)) +#if defined(OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2) +#if defined(OQS_DIST_BUILD) + if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { +#endif /* OQS_DIST_BUILD */ + return (OQS_STATUS) libjade_kyber768_avx2_dec(shared_secret, ciphertext, secret_key); +#if defined(OQS_DIST_BUILD) + } else { + return (OQS_STATUS) libjade_kyber768_ref_dec(shared_secret, ciphertext, secret_key); + } +#endif /* OQS_DIST_BUILD */ +#else + return (OQS_STATUS) libjade_kyber768_ref_dec(shared_secret, ciphertext, secret_key); +#endif +#else /*OQS_LIBJADE_BUILD && (OQS_ENABLE_LIBJADE_KEM_kyber_768)*/ #if defined(OQS_ENABLE_KEM_kyber_768_avx2) #if defined(OQS_DIST_BUILD) if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) { @@ -122,6 +182,7 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_ #else return (OQS_STATUS) pqcrystals_kyber768_ref_dec(shared_secret, ciphertext, secret_key); #endif +#endif /* OQS_LIBJADE_BUILD */ } #endif diff --git a/src/kem/kyber/libjade_kyber512_avx2/api.c b/src/kem/kyber/libjade_kyber512_avx2/api.c new file mode 100644 index 000000000..ec6ff905c --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_avx2/api.c @@ -0,0 +1,19 @@ +#include +#include "api.h" + +int libjade_kyber512_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) { + uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES]; + OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2); + OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES/2); + return jade_kem_kyber_kyber512_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins); +} + +int libjade_kyber512_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { + uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES]; + OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES); + return jade_kem_kyber_kyber512_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins); +} + +int libjade_kyber512_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { + return jade_kem_kyber_kyber512_amd64_avx2_dec( shared_secret, ciphertext, secret_key); +} diff --git a/src/kem/kyber/libjade_kyber512_avx2/api.h b/src/kem/kyber/libjade_kyber512_avx2/api.h new file mode 100644 index 000000000..419112ece --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_avx2/api.h @@ -0,0 +1,45 @@ +#ifndef JADE_KEM_kyber_kyber512_amd64_avx2_API_H +#define JADE_KEM_kyber_kyber512_amd64_avx2_API_H + +#include + +#define JADE_KEM_kyber_kyber512_amd64_avx2_KEYPAIRCOINBYTES 64 +#define JADE_KEM_kyber_kyber512_amd64_avx2_ENCCOINBYTES 32 + +int jade_kem_kyber_kyber512_amd64_avx2_keypair_derand( + uint8_t *public_key, + uint8_t *secret_key, + const uint8_t *coins +); + +int libjade_kyber512_avx2_keypair( + uint8_t *public_key, + uint8_t *secret_key +); + +int jade_kem_kyber_kyber512_amd64_avx2_enc_derand( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key, + const uint8_t *coins +); + +int libjade_kyber512_avx2_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +); + +int jade_kem_kyber_kyber512_amd64_avx2_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +int libjade_kyber512_avx2_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +#endif diff --git a/src/kem/kyber/libjade_kyber512_avx2/kem.S b/src/kem/kyber/libjade_kyber512_avx2/kem.S new file mode 100644 index 000000000..173086f8d --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_avx2/kem.S @@ -0,0 +1,21503 @@ + .att_syntax + .text + .p2align 5 + .globl _jade_kem_kyber_kyber512_amd64_avx2_dec + .globl jade_kem_kyber_kyber512_amd64_avx2_dec + .globl _jade_kem_kyber_kyber512_amd64_avx2_enc + .globl jade_kem_kyber_kyber512_amd64_avx2_enc + .globl _jade_kem_kyber_kyber512_amd64_avx2_enc_derand + .globl jade_kem_kyber_kyber512_amd64_avx2_enc_derand + .globl _jade_kem_kyber_kyber512_amd64_avx2_keypair + .globl jade_kem_kyber_kyber512_amd64_avx2_keypair + .globl _jade_kem_kyber_kyber512_amd64_avx2_keypair_derand + .globl jade_kem_kyber_kyber512_amd64_avx2_keypair_derand +_jade_kem_kyber_kyber512_amd64_avx2_dec: +jade_kem_kyber_kyber512_amd64_avx2_dec: + movq %rsp, %rax + leaq -12064(%rsp), %rsp + andq $-32, %rsp + movq %rax, 12056(%rsp) + movq %r15, 12008(%rsp) + movq %r14, 12016(%rsp) + movq %r13, 12024(%rsp) + movq %r12, 12032(%rsp) + movq %rbp, 12040(%rsp) + movq %rbx, 12048(%rsp) + movq %rdi, 11968(%rsp) + movq %rsi, 11976(%rsp) + leaq 32(%rsp), %rax + vpbroadcastd glob_data + 6436(%rip), %ymm0 + vmovdqu glob_data + 64(%rip), %ymm1 + vpbroadcastq glob_data + 6224(%rip), %ymm2 + vpbroadcastd glob_data + 6432(%rip), %ymm3 + vmovdqu (%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5824(%rsp) + vmovdqu 20(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5856(%rsp) + vmovdqu 40(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5888(%rsp) + vmovdqu 60(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5920(%rsp) + vmovdqu 80(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5952(%rsp) + vmovdqu 100(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 5984(%rsp) + vmovdqu 120(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6016(%rsp) + vmovdqu 140(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6048(%rsp) + vmovdqu 160(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6080(%rsp) + vmovdqu 180(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6112(%rsp) + vmovdqu 200(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6144(%rsp) + vmovdqu 220(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6176(%rsp) + vmovdqu 240(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6208(%rsp) + vmovdqu 260(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6240(%rsp) + vmovdqu 280(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6272(%rsp) + vmovdqu 300(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6304(%rsp) + vmovdqu 320(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6336(%rsp) + vmovdqu 340(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6368(%rsp) + vmovdqu 360(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6400(%rsp) + vmovdqu 380(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6432(%rsp) + vmovdqu 400(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6464(%rsp) + vmovdqu 420(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6496(%rsp) + vmovdqu 440(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6528(%rsp) + vmovdqu 460(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6560(%rsp) + vmovdqu 480(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6592(%rsp) + vmovdqu 500(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6624(%rsp) + vmovdqu 520(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6656(%rsp) + vmovdqu 540(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6688(%rsp) + vmovdqu 560(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6720(%rsp) + vmovdqu 580(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6752(%rsp) + vmovdqu 600(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6784(%rsp) + vmovdqu 620(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm1 + vpsllvd %ymm2, %ymm1, %ymm1 + vpsrlw $1, %ymm1, %ymm1 + vpand %ymm3, %ymm1, %ymm1 + vpmulhrsw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm0, 6816(%rsp) + addq $640, %rsi + leaq 2208(%rsp), %rcx + leaq -24(%rsp), %rsp + call L_poly_decompress$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$77: + leaq 24(%rsp), %rsp + movq %rdx, %rsi + leaq 6848(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$76: + addq $384, %rsi + leaq 7360(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$75: + leaq 5824(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$74: + leaq 6336(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$73: + leaq 2720(%rsp), %rcx + leaq 6848(%rsp), %rsi + leaq 5824(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$72: + leaq 3232(%rsp), %rcx + leaq 7360(%rsp), %rsi + leaq 6336(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$71: + leaq 2720(%rsp), %rcx + leaq 3232(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$70: + leaq 2720(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$69: + leaq 3232(%rsp), %rcx + leaq 2208(%rsp), %rsi + leaq 2720(%rsp), %rdi + call L_poly_sub$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$68: + leaq 3232(%rsp), %rcx + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rcx) + vmovdqu 32(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rcx) + vmovdqu 64(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rcx) + vmovdqu 96(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rcx) + vmovdqu 128(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rcx) + vmovdqu 160(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rcx) + vmovdqu 192(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rcx) + vmovdqu 224(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rcx) + vmovdqu 256(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rcx) + vmovdqu 288(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rcx) + vmovdqu 320(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rcx) + vmovdqu 352(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rcx) + vmovdqu 384(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rcx) + vmovdqu 416(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rcx) + vmovdqu 448(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rcx) + vmovdqu 480(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rcx) + leaq 3232(%rsp), %rcx + call L_poly_tomsg_1$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$67: + leaq 32(%rdx), %rax + addq $1536, %rax + movq (%rax), %rcx + movq %rcx, 64(%rsp) + movq 8(%rax), %rcx + movq %rcx, 72(%rsp) + movq 16(%rax), %rcx + movq %rcx, 80(%rsp) + movq 24(%rax), %rax + movq %rax, 88(%rsp) + movq %rdx, 11984(%rsp) + leaq 96(%rsp), %rax + leaq 32(%rsp), %rcx + leaq -248(%rsp), %rsp + call L_sha3_512_64$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$66: + leaq 248(%rsp), %rsp + movq 11984(%rsp), %rax + addq $768, %rax + leaq 4256(%rsp), %rcx + leaq 32(%rsp), %rdi + leaq 128(%rsp), %rdx + movq %rcx, 11992(%rsp) + movq %rax, %rsi + leaq 5824(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$65: + addq $384, %rsi + leaq 6336(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$64: + movq $0, %rcx + addq $768, %rax + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$62 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$63: + movq (%rax), %rsi + movq %rsi, (%rsp,%rcx,8) + addq $8, %rax + incq %rcx +Ljade_kem_kyber_kyber512_amd64_avx2_dec$62: + cmpq $4, %rcx + jb Ljade_kem_kyber_kyber512_amd64_avx2_dec$63 + leaq 3232(%rsp), %rax + call L_poly_frommsg_1$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$61: + movq %rdx, 12000(%rsp) + vmovdqu (%rsp), %ymm0 + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 672(%rsp) + vmovdqu %ymm0, 1184(%rsp) + vmovdqu %ymm0, 1696(%rsp) + movb $0, 192(%rsp) + movb $0, 193(%rsp) + movb $0, 704(%rsp) + movb $1, 705(%rsp) + movb $1, 1216(%rsp) + movb $0, 1217(%rsp) + movb $1, 1728(%rsp) + movb $1, 1729(%rsp) + leaq 5024(%rsp), %rax + leaq 160(%rsp), %rcx + leaq 672(%rsp), %rdx + leaq 1184(%rsp), %rsi + leaq 1696(%rsp), %rdi + call L_shake128_absorb4x_34$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$60: + leaq 5024(%rsp), %rax + leaq 160(%rsp), %rcx + leaq 672(%rsp), %r8 + leaq 1184(%rsp), %r9 + leaq 1696(%rsp), %r10 + movq %rcx, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$59: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rcx), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$58: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rcx), %rcx + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$57: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rcx) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rcx) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rcx) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rcx) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rcx) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rcx) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rcx) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rcx) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rcx) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rcx) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rcx) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rcx) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rcx) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rcx) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rcx) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rcx) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rcx) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rcx) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rcx) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rcx) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rcx) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 9920(%rsp), %rbp + leaq 160(%rsp), %r12 + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$56: + movq %rcx, %r10 + leaq 10432(%rsp), %rbp + leaq 672(%rsp), %r12 + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$55: + movq %rcx, %r11 + leaq 10944(%rsp), %rbp + leaq 1184(%rsp), %r12 + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$54: + movq %rcx, %rbx + leaq 11456(%rsp), %rbp + leaq 1696(%rsp), %r12 + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$53: + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$30 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$31: + leaq 5024(%rsp), %rax + leaq 160(%rsp), %r8 + leaq 672(%rsp), %r9 + leaq 1184(%rsp), %rbp + leaq 1696(%rsp), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$52: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r8) + vmovhpd %xmm1, (%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r8) + vmovhpd %xmm1, 8(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r8) + vmovhpd %xmm1, 16(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r8) + vmovhpd %xmm1, 24(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r8) + vmovhpd %xmm1, 32(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r8) + vmovhpd %xmm1, 40(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r8) + vmovhpd %xmm1, 48(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r8) + vmovhpd %xmm1, 56(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r8) + vmovhpd %xmm1, 64(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r8) + vmovhpd %xmm1, 72(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r8) + vmovhpd %xmm1, 80(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r8) + vmovhpd %xmm1, 88(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r8) + vmovhpd %xmm1, 96(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r8) + vmovhpd %xmm1, 104(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r8) + vmovhpd %xmm1, 112(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r8) + vmovhpd %xmm1, 120(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r8) + vmovhpd %xmm1, 128(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r8) + vmovhpd %xmm1, 136(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r8) + vmovhpd %xmm1, 144(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r8) + vmovhpd %xmm1, 152(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r8) + vmovhpd %xmm1, 160(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 9920(%rsp), %rax + leaq 160(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$47 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$48: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$51 + movw %di, (%rax,%r10,2) + incq %r10 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$51: + cmpq $256, %r10 + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$49 + cmpw $3329, %r9w + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$49 + movw %r9w, (%rax,%r10,2) + incq %r10 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$50: +Ljade_kem_kyber_kyber512_amd64_avx2_dec$49: + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +Ljade_kem_kyber_kyber512_amd64_avx2_dec$47: + jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$48 + leaq 10432(%rsp), %rax + leaq 672(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$42 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$43: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$46 + movw %di, (%rax,%r11,2) + incq %r11 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$46: + cmpq $256, %r11 + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$44 + cmpw $3329, %r9w + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$44 + movw %r9w, (%rax,%r11,2) + incq %r11 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$45: +Ljade_kem_kyber_kyber512_amd64_avx2_dec$44: + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +Ljade_kem_kyber_kyber512_amd64_avx2_dec$42: + jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$43 + leaq 10944(%rsp), %rax + leaq 1184(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$37 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$38: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$41 + movw %di, (%rax,%rbx,2) + incq %rbx +Ljade_kem_kyber_kyber512_amd64_avx2_dec$41: + cmpq $256, %rbx + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$39 + cmpw $3329, %r9w + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$39 + movw %r9w, (%rax,%rbx,2) + incq %rbx +Ljade_kem_kyber_kyber512_amd64_avx2_dec$40: +Ljade_kem_kyber_kyber512_amd64_avx2_dec$39: + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +Ljade_kem_kyber_kyber512_amd64_avx2_dec$37: + jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$38 + leaq 11456(%rsp), %rax + leaq 1696(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp Ljade_kem_kyber_kyber512_amd64_avx2_dec$32 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$33: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$36 + movw %di, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_avx2_dec$36: + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$34 + cmpw $3329, %r9w + jnb Ljade_kem_kyber_kyber512_amd64_avx2_dec$34 + movw %r9w, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_avx2_dec$35: +Ljade_kem_kyber_kyber512_amd64_avx2_dec$34: + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +Ljade_kem_kyber_kyber512_amd64_avx2_dec$32: + jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$33 + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl +Ljade_kem_kyber_kyber512_amd64_avx2_dec$30: + cmpb $0, %dl + jne Ljade_kem_kyber_kyber512_amd64_avx2_dec$31 + leaq 9920(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$29: + leaq 10432(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$28: + leaq 10944(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$27: + leaq 11456(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$26: + movq 12000(%rsp), %rax + movb $0, %sil + leaq 7872(%rsp), %rdx + leaq 8384(%rsp), %rcx + leaq 6848(%rsp), %r8 + leaq 7360(%rsp), %r9 + leaq -2008(%rsp), %rsp + call L_poly_getnoise_eta1122_4x$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$25: + leaq 2008(%rsp), %rsp + movb $4, %al + movq 12000(%rsp), %rcx + leaq 2720(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$24: + leaq 216(%rsp), %rsp + leaq 7872(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$23: + leaq 8384(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$22: + leaq 8896(%rsp), %rcx + leaq 9920(%rsp), %rsi + leaq 7872(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$21: + leaq 2208(%rsp), %rcx + leaq 10432(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$20: + leaq 8896(%rsp), %rcx + leaq 2208(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$19: + leaq 9408(%rsp), %rcx + leaq 10944(%rsp), %rsi + leaq 7872(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$18: + leaq 2208(%rsp), %rcx + leaq 11456(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$17: + leaq 9408(%rsp), %rcx + leaq 2208(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$16: + leaq 2208(%rsp), %rcx + leaq 5824(%rsp), %rsi + leaq 7872(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$15: + leaq 3744(%rsp), %rcx + leaq 6336(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$14: + leaq 2208(%rsp), %rcx + leaq 3744(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$13: + leaq 8896(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$12: + leaq 9408(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$11: + leaq 2208(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$10: + leaq 8896(%rsp), %rcx + leaq 6848(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$9: + leaq 9408(%rsp), %rcx + leaq 7360(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$8: + leaq 2208(%rsp), %rcx + leaq 2720(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$7: + leaq 2208(%rsp), %rcx + leaq 3232(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$6: + leaq 8896(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 9408(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 2208(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 11992(%rsp), %rax + movq %rax, %rdx + leaq 8896(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$5: + leaq 9408(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$4: + leaq glob_data + 416(%rip), %rcx + vmovdqu (%rcx), %ymm0 + vpsllw $3, %ymm0, %ymm1 + vpbroadcastw glob_data + 6454(%rip), %ymm2 + vpbroadcastw glob_data + 6452(%rip), %ymm3 + vpbroadcastw glob_data + 6450(%rip), %ymm4 + vpbroadcastq glob_data + 6216(%rip), %ymm5 + vpbroadcastq glob_data + 6208(%rip), %ymm6 + vmovdqu glob_data + 32(%rip), %ymm7 + vmovdqu 8896(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, (%rdx) + vpextrd $0, %xmm8, 16(%rdx) + vmovdqu 8928(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 20(%rdx) + vpextrd $0, %xmm8, 36(%rdx) + vmovdqu 8960(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 40(%rdx) + vpextrd $0, %xmm8, 56(%rdx) + vmovdqu 8992(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 60(%rdx) + vpextrd $0, %xmm8, 76(%rdx) + vmovdqu 9024(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 80(%rdx) + vpextrd $0, %xmm8, 96(%rdx) + vmovdqu 9056(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 100(%rdx) + vpextrd $0, %xmm8, 116(%rdx) + vmovdqu 9088(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 120(%rdx) + vpextrd $0, %xmm8, 136(%rdx) + vmovdqu 9120(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 140(%rdx) + vpextrd $0, %xmm8, 156(%rdx) + vmovdqu 9152(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 160(%rdx) + vpextrd $0, %xmm8, 176(%rdx) + vmovdqu 9184(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 180(%rdx) + vpextrd $0, %xmm8, 196(%rdx) + vmovdqu 9216(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 200(%rdx) + vpextrd $0, %xmm8, 216(%rdx) + vmovdqu 9248(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 220(%rdx) + vpextrd $0, %xmm8, 236(%rdx) + vmovdqu 9280(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 240(%rdx) + vpextrd $0, %xmm8, 256(%rdx) + vmovdqu 9312(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 260(%rdx) + vpextrd $0, %xmm8, 276(%rdx) + vmovdqu 9344(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 280(%rdx) + vpextrd $0, %xmm8, 296(%rdx) + vmovdqu 9376(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 300(%rdx) + vpextrd $0, %xmm8, 316(%rdx) + vmovdqu 9408(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 320(%rdx) + vpextrd $0, %xmm8, 336(%rdx) + vmovdqu 9440(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 340(%rdx) + vpextrd $0, %xmm8, 356(%rdx) + vmovdqu 9472(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 360(%rdx) + vpextrd $0, %xmm8, 376(%rdx) + vmovdqu 9504(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 380(%rdx) + vpextrd $0, %xmm8, 396(%rdx) + vmovdqu 9536(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 400(%rdx) + vpextrd $0, %xmm8, 416(%rdx) + vmovdqu 9568(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 420(%rdx) + vpextrd $0, %xmm8, 436(%rdx) + vmovdqu 9600(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 440(%rdx) + vpextrd $0, %xmm8, 456(%rdx) + vmovdqu 9632(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 460(%rdx) + vpextrd $0, %xmm8, 476(%rdx) + vmovdqu 9664(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 480(%rdx) + vpextrd $0, %xmm8, 496(%rdx) + vmovdqu 9696(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 500(%rdx) + vpextrd $0, %xmm8, 516(%rdx) + vmovdqu 9728(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 520(%rdx) + vpextrd $0, %xmm8, 536(%rdx) + vmovdqu 9760(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 540(%rdx) + vpextrd $0, %xmm8, 556(%rdx) + vmovdqu 9792(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 560(%rdx) + vpextrd $0, %xmm8, 576(%rdx) + vmovdqu 9824(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 580(%rdx) + vpextrd $0, %xmm8, 596(%rdx) + vmovdqu 9856(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 600(%rdx) + vpextrd $0, %xmm8, 616(%rdx) + vmovdqu 9888(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm1 + vpaddw %ymm2, %ymm8, %ymm2 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm0 + vpsubw %ymm2, %ymm1, %ymm2 + vpandn %ymm2, %ymm1, %ymm1 + vpsrlw $15, %ymm1, %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vpmulhrsw %ymm3, %ymm0, %ymm0 + vpand %ymm4, %ymm0, %ymm0 + vpmaddwd %ymm5, %ymm0, %ymm0 + vpsllvd %ymm6, %ymm0, %ymm0 + vpsrlq $12, %ymm0, %ymm0 + vpshufb %ymm7, %ymm0, %ymm0 + vmovdqu %xmm0, %xmm1 + vextracti128 $1, %ymm0, %xmm0 + vpblendw $-32, %xmm0, %xmm1, %xmm1 + vmovdqu %xmm1, 620(%rdx) + vpextrd $0, %xmm0, 636(%rdx) + leaq 640(%rax), %rax + leaq 2208(%rsp), %rcx + call L_poly_compress_1$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$3: + movq 11976(%rsp), %r8 + leaq 4256(%rsp), %rax + movq $0, %rcx + movq $1, %rdx + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu (%rax), %ymm1 + vmovdqu (%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 32(%rax), %ymm1 + vmovdqu 32(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 64(%rax), %ymm1 + vmovdqu 64(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 96(%rax), %ymm1 + vmovdqu 96(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 128(%rax), %ymm1 + vmovdqu 128(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 160(%rax), %ymm1 + vmovdqu 160(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 192(%rax), %ymm1 + vmovdqu 192(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 224(%rax), %ymm1 + vmovdqu 224(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 256(%rax), %ymm1 + vmovdqu 256(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 288(%rax), %ymm1 + vmovdqu 288(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 320(%rax), %ymm1 + vmovdqu 320(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 352(%rax), %ymm1 + vmovdqu 352(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 384(%rax), %ymm1 + vmovdqu 384(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 416(%rax), %ymm1 + vmovdqu 416(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 448(%rax), %ymm1 + vmovdqu 448(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 480(%rax), %ymm1 + vmovdqu 480(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 512(%rax), %ymm1 + vmovdqu 512(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 544(%rax), %ymm1 + vmovdqu 544(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 576(%rax), %ymm1 + vmovdqu 576(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 608(%rax), %ymm1 + vmovdqu 608(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 640(%rax), %ymm1 + vmovdqu 640(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 672(%rax), %ymm1 + vmovdqu 672(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 704(%rax), %ymm1 + vmovdqu 704(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 736(%rax), %ymm1 + vmovdqu 736(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vptest %ymm0, %ymm0 + cmovne %rdx, %rcx + negq %rcx + shrq $63, %rcx + movq 11984(%rsp), %rax + addq $64, %rax + addq $1536, %rax + leaq 96(%rsp), %rdx + negq %rcx + movq %rcx, 11984(%rsp) + vpbroadcastq 11984(%rsp), %ymm0 + vmovdqu (%rdx), %ymm1 + vmovdqu (%rax), %ymm2 + vpblendvb %ymm0, %ymm2, %ymm1, %ymm0 + vmovdqu %ymm0, (%rdx) + movq $768, %rdi + leaq 128(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$2: + leaq 248(%rsp), %rsp + movq 11968(%rsp), %rdx + movq $32, %rcx + leaq 96(%rsp), %rax + leaq -248(%rsp), %rsp + call L_shake256_64$1 +Ljade_kem_kyber_kyber512_amd64_avx2_dec$1: + leaq 248(%rsp), %rsp + xorq %rax, %rax + movq 12008(%rsp), %r15 + movq 12016(%rsp), %r14 + movq 12024(%rsp), %r13 + movq 12032(%rsp), %r12 + movq 12040(%rsp), %rbp + movq 12048(%rsp), %rbx + movq 12056(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_avx2_enc: +jade_kem_kyber_kyber512_amd64_avx2_enc: + movq %rsp, %rax + leaq -88(%rsp), %rsp + andq $-32, %rsp + movq %rax, 80(%rsp) + movq %r15, 32(%rsp) + movq %r14, 40(%rsp) + movq %r13, 48(%rsp) + movq %r12, 56(%rsp) + movq %rbp, 64(%rsp) + movq %rbx, 72(%rsp) + movq %rdi, %rbx + movq %rsi, %r12 + movq %rdx, %rbp + movq %rsp, %rdi + movq $32, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rcx + leaq -11256(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_avx2_enc$1: + leaq 11256(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r15 + movq 40(%rsp), %r14 + movq 48(%rsp), %r13 + movq 56(%rsp), %r12 + movq 64(%rsp), %rbp + movq 72(%rsp), %rbx + movq 80(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_avx2_enc_derand: +jade_kem_kyber_kyber512_amd64_avx2_enc_derand: + movq %rsp, %rax + leaq -88(%rsp), %rsp + andq $-32, %rsp + movq %rax, 80(%rsp) + movq %r15, 32(%rsp) + movq %r14, 40(%rsp) + movq %r13, 48(%rsp) + movq %r12, 56(%rsp) + movq %rbp, 64(%rsp) + movq %rbx, 72(%rsp) + movq %rdi, %rbx + movq %rsi, %r12 + movq %rdx, %rbp + movq %rsp, %rax + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + movq %rsp, %rcx + leaq -11256(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_avx2_enc_derand$1: + leaq 11256(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r15 + movq 40(%rsp), %r14 + movq 48(%rsp), %r13 + movq 56(%rsp), %r12 + movq 64(%rsp), %rbp + movq 72(%rsp), %rbx + movq 80(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_avx2_keypair: +jade_kem_kyber_kyber512_amd64_avx2_keypair: + movq %rsp, %rax + leaq -120(%rsp), %rsp + andq $-32, %rsp + movq %rax, 112(%rsp) + movq %r15, 64(%rsp) + movq %r14, 72(%rsp) + movq %r13, 80(%rsp) + movq %r12, 88(%rsp) + movq %rbp, 96(%rsp) + movq %rbx, 104(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rdi + movq $64, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rax + leaq -8696(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_avx2_keypair$1: + leaq 8696(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r15 + movq 72(%rsp), %r14 + movq 80(%rsp), %r13 + movq 88(%rsp), %r12 + movq 96(%rsp), %rbp + movq 104(%rsp), %rbx + movq 112(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_avx2_keypair_derand: +jade_kem_kyber_kyber512_amd64_avx2_keypair_derand: + movq %rsp, %rax + leaq -120(%rsp), %rsp + andq $-32, %rsp + movq %rax, 112(%rsp) + movq %r15, 64(%rsp) + movq %r14, 72(%rsp) + movq %r13, 80(%rsp) + movq %r12, 88(%rsp) + movq %rbp, 96(%rsp) + movq %rbx, 104(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rax + movb (%rdx), %cl + movb %cl, (%rax) + movb 1(%rdx), %cl + movb %cl, 1(%rax) + movb 2(%rdx), %cl + movb %cl, 2(%rax) + movb 3(%rdx), %cl + movb %cl, 3(%rax) + movb 4(%rdx), %cl + movb %cl, 4(%rax) + movb 5(%rdx), %cl + movb %cl, 5(%rax) + movb 6(%rdx), %cl + movb %cl, 6(%rax) + movb 7(%rdx), %cl + movb %cl, 7(%rax) + movb 8(%rdx), %cl + movb %cl, 8(%rax) + movb 9(%rdx), %cl + movb %cl, 9(%rax) + movb 10(%rdx), %cl + movb %cl, 10(%rax) + movb 11(%rdx), %cl + movb %cl, 11(%rax) + movb 12(%rdx), %cl + movb %cl, 12(%rax) + movb 13(%rdx), %cl + movb %cl, 13(%rax) + movb 14(%rdx), %cl + movb %cl, 14(%rax) + movb 15(%rdx), %cl + movb %cl, 15(%rax) + movb 16(%rdx), %cl + movb %cl, 16(%rax) + movb 17(%rdx), %cl + movb %cl, 17(%rax) + movb 18(%rdx), %cl + movb %cl, 18(%rax) + movb 19(%rdx), %cl + movb %cl, 19(%rax) + movb 20(%rdx), %cl + movb %cl, 20(%rax) + movb 21(%rdx), %cl + movb %cl, 21(%rax) + movb 22(%rdx), %cl + movb %cl, 22(%rax) + movb 23(%rdx), %cl + movb %cl, 23(%rax) + movb 24(%rdx), %cl + movb %cl, 24(%rax) + movb 25(%rdx), %cl + movb %cl, 25(%rax) + movb 26(%rdx), %cl + movb %cl, 26(%rax) + movb 27(%rdx), %cl + movb %cl, 27(%rax) + movb 28(%rdx), %cl + movb %cl, 28(%rax) + movb 29(%rdx), %cl + movb %cl, 29(%rax) + movb 30(%rdx), %cl + movb %cl, 30(%rax) + movb 31(%rdx), %cl + movb %cl, 31(%rax) + movb 32(%rdx), %cl + movb %cl, 32(%rax) + movb 33(%rdx), %cl + movb %cl, 33(%rax) + movb 34(%rdx), %cl + movb %cl, 34(%rax) + movb 35(%rdx), %cl + movb %cl, 35(%rax) + movb 36(%rdx), %cl + movb %cl, 36(%rax) + movb 37(%rdx), %cl + movb %cl, 37(%rax) + movb 38(%rdx), %cl + movb %cl, 38(%rax) + movb 39(%rdx), %cl + movb %cl, 39(%rax) + movb 40(%rdx), %cl + movb %cl, 40(%rax) + movb 41(%rdx), %cl + movb %cl, 41(%rax) + movb 42(%rdx), %cl + movb %cl, 42(%rax) + movb 43(%rdx), %cl + movb %cl, 43(%rax) + movb 44(%rdx), %cl + movb %cl, 44(%rax) + movb 45(%rdx), %cl + movb %cl, 45(%rax) + movb 46(%rdx), %cl + movb %cl, 46(%rax) + movb 47(%rdx), %cl + movb %cl, 47(%rax) + movb 48(%rdx), %cl + movb %cl, 48(%rax) + movb 49(%rdx), %cl + movb %cl, 49(%rax) + movb 50(%rdx), %cl + movb %cl, 50(%rax) + movb 51(%rdx), %cl + movb %cl, 51(%rax) + movb 52(%rdx), %cl + movb %cl, 52(%rax) + movb 53(%rdx), %cl + movb %cl, 53(%rax) + movb 54(%rdx), %cl + movb %cl, 54(%rax) + movb 55(%rdx), %cl + movb %cl, 55(%rax) + movb 56(%rdx), %cl + movb %cl, 56(%rax) + movb 57(%rdx), %cl + movb %cl, 57(%rax) + movb 58(%rdx), %cl + movb %cl, 58(%rax) + movb 59(%rdx), %cl + movb %cl, 59(%rax) + movb 60(%rdx), %cl + movb %cl, 60(%rax) + movb 61(%rdx), %cl + movb %cl, 61(%rax) + movb 62(%rdx), %cl + movb %cl, 62(%rax) + movb 63(%rdx), %cl + movb %cl, 63(%rax) + movq %rsp, %rax + leaq -8696(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_avx2_keypair_derand$1: + leaq 8696(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r15 + movq 72(%rsp), %r14 + movq 80(%rsp), %r13 + movq 88(%rsp), %r12 + movq 96(%rsp), %rbp + movq 104(%rsp), %rbx + movq 112(%rsp), %rsp + ret +L__crypto_kem_enc_derand_jazz$1: + movq %rbp, 11232(%rsp) + movq %rbx, 11240(%rsp) + movq %r12, 11248(%rsp) + leaq 64(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256_32$1 +L__crypto_kem_enc_derand_jazz$69: + leaq 248(%rsp), %rsp + movq 11232(%rsp), %r8 + movq $800, %rdi + leaq 96(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$68: + leaq 248(%rsp), %rsp + leaq 128(%rsp), %rax + leaq 64(%rsp), %rcx + leaq -248(%rsp), %rsp + call L_sha3_512_64$1 +L__crypto_kem_enc_derand_jazz$67: + leaq 248(%rsp), %rsp + movq 11232(%rsp), %rax + leaq 64(%rsp), %rdi + leaq 160(%rsp), %rcx + movq %rax, %rsi + leaq 5088(%rsp), %r8 + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$66: + addq $384, %rsi + leaq 5600(%rsp), %r8 + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$65: + movq $0, %rdx + addq $768, %rax + jmp L__crypto_kem_enc_derand_jazz$63 +L__crypto_kem_enc_derand_jazz$64: + movq (%rax), %rsi + movq %rsi, 32(%rsp,%rdx,8) + addq $8, %rax + incq %rdx +L__crypto_kem_enc_derand_jazz$63: + cmpq $4, %rdx + jb L__crypto_kem_enc_derand_jazz$64 + leaq 2240(%rsp), %rax + call L_poly_frommsg_1$1 +L__crypto_kem_enc_derand_jazz$62: + movq %rcx, 11232(%rsp) + vmovdqu 32(%rsp), %ymm0 + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 704(%rsp) + vmovdqu %ymm0, 1216(%rsp) + vmovdqu %ymm0, 1728(%rsp) + movb $0, 224(%rsp) + movb $0, 225(%rsp) + movb $0, 736(%rsp) + movb $1, 737(%rsp) + movb $1, 1248(%rsp) + movb $0, 1249(%rsp) + movb $1, 1760(%rsp) + movb $1, 1761(%rsp) + leaq 4288(%rsp), %rax + leaq 192(%rsp), %rcx + leaq 704(%rsp), %rdx + leaq 1216(%rsp), %rsi + leaq 1728(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_enc_derand_jazz$61: + leaq 4288(%rsp), %rax + leaq 192(%rsp), %rcx + leaq 704(%rsp), %r8 + leaq 1216(%rsp), %r9 + leaq 1728(%rsp), %r10 + movq %rcx, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$60: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rcx), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$59: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rcx), %rcx + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$58: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rcx) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rcx) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rcx) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rcx) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rcx) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rcx) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rcx) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rcx) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rcx) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rcx) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rcx) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rcx) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rcx) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rcx) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rcx) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rcx) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rcx) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rcx) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rcx) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rcx) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rcx) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 9184(%rsp), %rbp + leaq 192(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$57: + movq %rcx, %r10 + leaq 9696(%rsp), %rbp + leaq 704(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$56: + movq %rcx, %r11 + leaq 10208(%rsp), %rbp + leaq 1216(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$55: + movq %rcx, %rbx + leaq 10720(%rsp), %rbp + leaq 1728(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$54: + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl + jmp L__crypto_kem_enc_derand_jazz$31 +L__crypto_kem_enc_derand_jazz$32: + leaq 4288(%rsp), %rax + leaq 192(%rsp), %r8 + leaq 704(%rsp), %r9 + leaq 1216(%rsp), %rbp + leaq 1728(%rsp), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$53: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r8) + vmovhpd %xmm1, (%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r8) + vmovhpd %xmm1, 8(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r8) + vmovhpd %xmm1, 16(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r8) + vmovhpd %xmm1, 24(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r8) + vmovhpd %xmm1, 32(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r8) + vmovhpd %xmm1, 40(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r8) + vmovhpd %xmm1, 48(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r8) + vmovhpd %xmm1, 56(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r8) + vmovhpd %xmm1, 64(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r8) + vmovhpd %xmm1, 72(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r8) + vmovhpd %xmm1, 80(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r8) + vmovhpd %xmm1, 88(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r8) + vmovhpd %xmm1, 96(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r8) + vmovhpd %xmm1, 104(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r8) + vmovhpd %xmm1, 112(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r8) + vmovhpd %xmm1, 120(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r8) + vmovhpd %xmm1, 128(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r8) + vmovhpd %xmm1, 136(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r8) + vmovhpd %xmm1, 144(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r8) + vmovhpd %xmm1, 152(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r8) + vmovhpd %xmm1, 160(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 9184(%rsp), %rax + leaq 192(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_enc_derand_jazz$48 +L__crypto_kem_enc_derand_jazz$49: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$52 + movw %di, (%rax,%r10,2) + incq %r10 +L__crypto_kem_enc_derand_jazz$52: + cmpq $256, %r10 + jnb L__crypto_kem_enc_derand_jazz$50 + cmpw $3329, %r9w + jnb L__crypto_kem_enc_derand_jazz$50 + movw %r9w, (%rax,%r10,2) + incq %r10 +L__crypto_kem_enc_derand_jazz$51: +L__crypto_kem_enc_derand_jazz$50: + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_enc_derand_jazz$48: + jne L__crypto_kem_enc_derand_jazz$49 + leaq 9696(%rsp), %rax + leaq 704(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_enc_derand_jazz$43 +L__crypto_kem_enc_derand_jazz$44: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$47 + movw %di, (%rax,%r11,2) + incq %r11 +L__crypto_kem_enc_derand_jazz$47: + cmpq $256, %r11 + jnb L__crypto_kem_enc_derand_jazz$45 + cmpw $3329, %r9w + jnb L__crypto_kem_enc_derand_jazz$45 + movw %r9w, (%rax,%r11,2) + incq %r11 +L__crypto_kem_enc_derand_jazz$46: +L__crypto_kem_enc_derand_jazz$45: + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_enc_derand_jazz$43: + jne L__crypto_kem_enc_derand_jazz$44 + leaq 10208(%rsp), %rax + leaq 1216(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_enc_derand_jazz$38 +L__crypto_kem_enc_derand_jazz$39: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$42 + movw %di, (%rax,%rbx,2) + incq %rbx +L__crypto_kem_enc_derand_jazz$42: + cmpq $256, %rbx + jnb L__crypto_kem_enc_derand_jazz$40 + cmpw $3329, %r9w + jnb L__crypto_kem_enc_derand_jazz$40 + movw %r9w, (%rax,%rbx,2) + incq %rbx +L__crypto_kem_enc_derand_jazz$41: +L__crypto_kem_enc_derand_jazz$40: + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_enc_derand_jazz$38: + jne L__crypto_kem_enc_derand_jazz$39 + leaq 10720(%rsp), %rax + leaq 1728(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_enc_derand_jazz$33 +L__crypto_kem_enc_derand_jazz$34: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$37 + movw %di, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$37: + cmpq $256, %rcx + jnb L__crypto_kem_enc_derand_jazz$35 + cmpw $3329, %r9w + jnb L__crypto_kem_enc_derand_jazz$35 + movw %r9w, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$36: +L__crypto_kem_enc_derand_jazz$35: + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_enc_derand_jazz$33: + jne L__crypto_kem_enc_derand_jazz$34 + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl +L__crypto_kem_enc_derand_jazz$31: + cmpb $0, %dl + jne L__crypto_kem_enc_derand_jazz$32 + leaq 9184(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$30: + leaq 9696(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$29: + leaq 10208(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$28: + leaq 10720(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$27: + movq 11232(%rsp), %rax + movb $0, %sil + leaq 7136(%rsp), %rdx + leaq 7648(%rsp), %rcx + leaq 6112(%rsp), %r8 + leaq 6624(%rsp), %r9 + leaq -2008(%rsp), %rsp + call L_poly_getnoise_eta1122_4x$1 +L__crypto_kem_enc_derand_jazz$26: + leaq 2008(%rsp), %rsp + movb $4, %al + movq 11232(%rsp), %rcx + leaq 2752(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_poly_getnoise$1 +L__crypto_kem_enc_derand_jazz$25: + leaq 216(%rsp), %rsp + leaq 7136(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$24: + leaq 7648(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$23: + leaq 8160(%rsp), %rcx + leaq 9184(%rsp), %rsi + leaq 7136(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$22: + leaq 3264(%rsp), %rcx + leaq 9696(%rsp), %rsi + leaq 7648(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$21: + leaq 8160(%rsp), %rcx + leaq 3264(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$20: + leaq 8672(%rsp), %rcx + leaq 10208(%rsp), %rsi + leaq 7136(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$19: + leaq 3264(%rsp), %rcx + leaq 10720(%rsp), %rsi + leaq 7648(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$18: + leaq 8672(%rsp), %rcx + leaq 3264(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$17: + leaq 3264(%rsp), %rcx + leaq 5088(%rsp), %rsi + leaq 7136(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$16: + leaq 3776(%rsp), %rcx + leaq 5600(%rsp), %rsi + leaq 7648(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$15: + leaq 3264(%rsp), %rcx + leaq 3776(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$14: + leaq 8160(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$13: + leaq 8672(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$12: + leaq 3264(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$11: + leaq 8160(%rsp), %rcx + leaq 6112(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$10: + leaq 8672(%rsp), %rcx + leaq 6624(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$9: + leaq 3264(%rsp), %rcx + leaq 2752(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$8: + leaq 3264(%rsp), %rcx + leaq 2240(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$7: + leaq 8160(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 8672(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 3264(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 11240(%rsp), %rax + leaq 8160(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$6: + leaq 8672(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$5: + leaq glob_data + 416(%rip), %rcx + vmovdqu (%rcx), %ymm0 + vpsllw $3, %ymm0, %ymm1 + vpbroadcastw glob_data + 6454(%rip), %ymm2 + vpbroadcastw glob_data + 6452(%rip), %ymm3 + vpbroadcastw glob_data + 6450(%rip), %ymm4 + vpbroadcastq glob_data + 6216(%rip), %ymm5 + vpbroadcastq glob_data + 6208(%rip), %ymm6 + vmovdqu glob_data + 32(%rip), %ymm7 + vmovdqu 8160(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, (%rax) + vpextrd $0, %xmm8, 16(%rax) + vmovdqu 8192(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 20(%rax) + vpextrd $0, %xmm8, 36(%rax) + vmovdqu 8224(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 40(%rax) + vpextrd $0, %xmm8, 56(%rax) + vmovdqu 8256(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 60(%rax) + vpextrd $0, %xmm8, 76(%rax) + vmovdqu 8288(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 80(%rax) + vpextrd $0, %xmm8, 96(%rax) + vmovdqu 8320(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 100(%rax) + vpextrd $0, %xmm8, 116(%rax) + vmovdqu 8352(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 120(%rax) + vpextrd $0, %xmm8, 136(%rax) + vmovdqu 8384(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 140(%rax) + vpextrd $0, %xmm8, 156(%rax) + vmovdqu 8416(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 160(%rax) + vpextrd $0, %xmm8, 176(%rax) + vmovdqu 8448(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 180(%rax) + vpextrd $0, %xmm8, 196(%rax) + vmovdqu 8480(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 200(%rax) + vpextrd $0, %xmm8, 216(%rax) + vmovdqu 8512(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 220(%rax) + vpextrd $0, %xmm8, 236(%rax) + vmovdqu 8544(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 240(%rax) + vpextrd $0, %xmm8, 256(%rax) + vmovdqu 8576(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 260(%rax) + vpextrd $0, %xmm8, 276(%rax) + vmovdqu 8608(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 280(%rax) + vpextrd $0, %xmm8, 296(%rax) + vmovdqu 8640(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 300(%rax) + vpextrd $0, %xmm8, 316(%rax) + vmovdqu 8672(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 320(%rax) + vpextrd $0, %xmm8, 336(%rax) + vmovdqu 8704(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 340(%rax) + vpextrd $0, %xmm8, 356(%rax) + vmovdqu 8736(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 360(%rax) + vpextrd $0, %xmm8, 376(%rax) + vmovdqu 8768(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 380(%rax) + vpextrd $0, %xmm8, 396(%rax) + vmovdqu 8800(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 400(%rax) + vpextrd $0, %xmm8, 416(%rax) + vmovdqu 8832(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 420(%rax) + vpextrd $0, %xmm8, 436(%rax) + vmovdqu 8864(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 440(%rax) + vpextrd $0, %xmm8, 456(%rax) + vmovdqu 8896(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 460(%rax) + vpextrd $0, %xmm8, 476(%rax) + vmovdqu 8928(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 480(%rax) + vpextrd $0, %xmm8, 496(%rax) + vmovdqu 8960(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 500(%rax) + vpextrd $0, %xmm8, 516(%rax) + vmovdqu 8992(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 520(%rax) + vpextrd $0, %xmm8, 536(%rax) + vmovdqu 9024(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 540(%rax) + vpextrd $0, %xmm8, 556(%rax) + vmovdqu 9056(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 560(%rax) + vpextrd $0, %xmm8, 576(%rax) + vmovdqu 9088(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 580(%rax) + vpextrd $0, %xmm8, 596(%rax) + vmovdqu 9120(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 600(%rax) + vpextrd $0, %xmm8, 616(%rax) + vmovdqu 9152(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm1 + vpaddw %ymm2, %ymm8, %ymm2 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm0 + vpsubw %ymm2, %ymm1, %ymm2 + vpandn %ymm2, %ymm1, %ymm1 + vpsrlw $15, %ymm1, %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vpmulhrsw %ymm3, %ymm0, %ymm0 + vpand %ymm4, %ymm0, %ymm0 + vpmaddwd %ymm5, %ymm0, %ymm0 + vpsllvd %ymm6, %ymm0, %ymm0 + vpsrlq $12, %ymm0, %ymm0 + vpshufb %ymm7, %ymm0, %ymm0 + vmovdqu %xmm0, %xmm1 + vextracti128 $1, %ymm0, %xmm0 + vpblendw $-32, %xmm0, %xmm1, %xmm1 + vmovdqu %xmm1, 620(%rax) + vpextrd $0, %xmm0, 636(%rax) + addq $640, %rax + leaq 3264(%rsp), %rcx + call L_poly_compress$1 +L__crypto_kem_enc_derand_jazz$4: + movq 11240(%rsp), %r8 + movq $768, %rdi + leaq 160(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$3: + leaq 248(%rsp), %rsp + movq 11248(%rsp), %rdx + movq $32, %rcx + leaq 128(%rsp), %rax + leaq -248(%rsp), %rsp + call L_shake256_64$1 +L__crypto_kem_enc_derand_jazz$2: + leaq 248(%rsp), %rsp + ret +L__crypto_kem_keypair_derand_jazz$1: + movq %rax, 8576(%rsp) + movq %rbp, 8584(%rsp) + movq %rbx, 8592(%rsp) + movq %rax, %rcx + movq %rbp, 8600(%rsp) + movq %rbx, 8608(%rsp) + leaq 8616(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_512_32$1 +L__crypto_kem_keypair_derand_jazz$57: + leaq 248(%rsp), %rsp + movq 8616(%rsp), %rax + movq %rax, 64(%rsp) + movq 8648(%rsp), %rax + movq %rax, 32(%rsp) + movq 8624(%rsp), %rax + movq %rax, 72(%rsp) + movq 8656(%rsp), %rax + movq %rax, 40(%rsp) + movq 8632(%rsp), %rax + movq %rax, 80(%rsp) + movq 8664(%rsp), %rax + movq %rax, 48(%rsp) + movq 8640(%rsp), %rax + movq %rax, 88(%rsp) + movq 8672(%rsp), %rax + movq %rax, 56(%rsp) + vmovdqu 64(%rsp), %ymm0 + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 608(%rsp) + vmovdqu %ymm0, 1120(%rsp) + vmovdqu %ymm0, 1632(%rsp) + movb $0, 128(%rsp) + movb $0, 129(%rsp) + movb $1, 640(%rsp) + movb $0, 641(%rsp) + movb $0, 1152(%rsp) + movb $1, 1153(%rsp) + movb $1, 1664(%rsp) + movb $1, 1665(%rsp) + leaq 2656(%rsp), %rax + leaq 96(%rsp), %rcx + leaq 608(%rsp), %rdx + leaq 1120(%rsp), %rsi + leaq 1632(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_keypair_derand_jazz$56: + leaq 2656(%rsp), %rax + leaq 96(%rsp), %rcx + leaq 608(%rsp), %r8 + leaq 1120(%rsp), %r9 + leaq 1632(%rsp), %r10 + movq %rcx, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$55: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rcx), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$54: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rcx), %rcx + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$53: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rcx) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rcx) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rcx) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rcx) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rcx) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rcx) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rcx) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rcx) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rcx) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rcx) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rcx) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rcx) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rcx) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rcx) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rcx) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rcx) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rcx) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rcx) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rcx) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rcx) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rcx) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 6528(%rsp), %rbp + leaq 96(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$52: + movq %rcx, %r10 + leaq 7040(%rsp), %rbp + leaq 608(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$51: + movq %rcx, %r11 + leaq 7552(%rsp), %rbp + leaq 1120(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$50: + movq %rcx, %rbx + leaq 8064(%rsp), %rbp + leaq 1632(%rsp), %r12 + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$49: + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl + jmp L__crypto_kem_keypair_derand_jazz$26 +L__crypto_kem_keypair_derand_jazz$27: + leaq 2656(%rsp), %rax + leaq 96(%rsp), %r8 + leaq 608(%rsp), %r9 + leaq 1120(%rsp), %rbp + leaq 1632(%rsp), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$48: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r8) + vmovhpd %xmm1, (%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r8) + vmovhpd %xmm1, 8(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r8) + vmovhpd %xmm1, 16(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r8) + vmovhpd %xmm1, 24(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r8) + vmovhpd %xmm1, 32(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r8) + vmovhpd %xmm1, 40(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r8) + vmovhpd %xmm1, 48(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r8) + vmovhpd %xmm1, 56(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r8) + vmovhpd %xmm1, 64(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r8) + vmovhpd %xmm1, 72(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r8) + vmovhpd %xmm1, 80(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r8) + vmovhpd %xmm1, 88(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r8) + vmovhpd %xmm1, 96(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r8) + vmovhpd %xmm1, 104(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r8) + vmovhpd %xmm1, 112(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r8) + vmovhpd %xmm1, 120(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r8) + vmovhpd %xmm1, 128(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r8) + vmovhpd %xmm1, 136(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r8) + vmovhpd %xmm1, 144(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r8) + vmovhpd %xmm1, 152(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r8) + vmovhpd %xmm1, 160(%r9) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 6528(%rsp), %rax + leaq 96(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_keypair_derand_jazz$43 +L__crypto_kem_keypair_derand_jazz$44: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$47 + movw %di, (%rax,%r10,2) + incq %r10 +L__crypto_kem_keypair_derand_jazz$47: + cmpq $256, %r10 + jnb L__crypto_kem_keypair_derand_jazz$45 + cmpw $3329, %r9w + jnb L__crypto_kem_keypair_derand_jazz$45 + movw %r9w, (%rax,%r10,2) + incq %r10 +L__crypto_kem_keypair_derand_jazz$46: +L__crypto_kem_keypair_derand_jazz$45: + cmpq $255, %r10 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_keypair_derand_jazz$43: + jne L__crypto_kem_keypair_derand_jazz$44 + leaq 7040(%rsp), %rax + leaq 608(%rsp), %rdx + movq $0, %rsi + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_keypair_derand_jazz$38 +L__crypto_kem_keypair_derand_jazz$39: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$42 + movw %di, (%rax,%r11,2) + incq %r11 +L__crypto_kem_keypair_derand_jazz$42: + cmpq $256, %r11 + jnb L__crypto_kem_keypair_derand_jazz$40 + cmpw $3329, %r9w + jnb L__crypto_kem_keypair_derand_jazz$40 + movw %r9w, (%rax,%r11,2) + incq %r11 +L__crypto_kem_keypair_derand_jazz$41: +L__crypto_kem_keypair_derand_jazz$40: + cmpq $255, %r11 + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_keypair_derand_jazz$38: + jne L__crypto_kem_keypair_derand_jazz$39 + leaq 7552(%rsp), %rax + leaq 1120(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_keypair_derand_jazz$33 +L__crypto_kem_keypair_derand_jazz$34: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$37 + movw %di, (%rax,%rbx,2) + incq %rbx +L__crypto_kem_keypair_derand_jazz$37: + cmpq $256, %rbx + jnb L__crypto_kem_keypair_derand_jazz$35 + cmpw $3329, %r9w + jnb L__crypto_kem_keypair_derand_jazz$35 + movw %r9w, (%rax,%rbx,2) + incq %rbx +L__crypto_kem_keypair_derand_jazz$36: +L__crypto_kem_keypair_derand_jazz$35: + cmpq $255, %rbx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_keypair_derand_jazz$33: + jne L__crypto_kem_keypair_derand_jazz$34 + leaq 8064(%rsp), %rax + leaq 1632(%rsp), %rdx + movq $0, %rsi + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil + jmp L__crypto_kem_keypair_derand_jazz$28 +L__crypto_kem_keypair_derand_jazz$29: + movzbw (%rdx,%rsi), %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + movw %r8w, %r9w + shrw $4, %r9w + andw $15, %r8w + shlw $8, %r8w + orw %r8w, %di + incq %rsi + movzbw (%rdx,%rsi), %r8w + shlw $4, %r8w + orw %r8w, %r9w + incq %rsi + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$32 + movw %di, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$32: + cmpq $256, %rcx + jnb L__crypto_kem_keypair_derand_jazz$30 + cmpw $3329, %r9w + jnb L__crypto_kem_keypair_derand_jazz$30 + movw %r9w, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$31: +L__crypto_kem_keypair_derand_jazz$30: + cmpq $255, %rcx + setbe %dil + cmpq $165, %rsi + setbe %r8b + testb %r8b, %dil +L__crypto_kem_keypair_derand_jazz$28: + jne L__crypto_kem_keypair_derand_jazz$29 + cmpq $255, %r10 + setbe %al + cmpq $255, %r11 + setbe %dl + orb %dl, %al + cmpq $255, %rbx + setbe %dl + cmpq $255, %rcx + setbe %sil + orb %sil, %dl + orb %al, %dl +L__crypto_kem_keypair_derand_jazz$26: + cmpb $0, %dl + jne L__crypto_kem_keypair_derand_jazz$27 + leaq 6528(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$25: + leaq 7040(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$24: + leaq 7552(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$23: + leaq 8064(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$22: + movb $0, %sil + leaq 4480(%rsp), %rax + leaq 4992(%rsp), %rcx + leaq 3456(%rsp), %r8 + leaq 3968(%rsp), %r9 + leaq 32(%rsp), %rdx + leaq -2008(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +L__crypto_kem_keypair_derand_jazz$21: + leaq 2008(%rsp), %rsp + leaq 4480(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$20: + leaq 4992(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$19: + leaq 3456(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$18: + leaq 3968(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$17: + leaq 5504(%rsp), %rcx + leaq 6528(%rsp), %rsi + leaq 4480(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$16: + leaq 2144(%rsp), %rcx + leaq 7040(%rsp), %rsi + leaq 4992(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$15: + leaq 5504(%rsp), %rcx + leaq 2144(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$14: + leaq 5504(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$13: + leaq 6016(%rsp), %rcx + leaq 7552(%rsp), %rsi + leaq 4480(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$12: + leaq 2144(%rsp), %rcx + leaq 8064(%rsp), %rsi + leaq 4992(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$11: + leaq 6016(%rsp), %rcx + leaq 2144(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$10: + leaq 6016(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$9: + leaq 5504(%rsp), %rcx + leaq 3456(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$8: + leaq 6016(%rsp), %rcx + leaq 3968(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$7: + leaq 5504(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 6016(%rsp), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 8600(%rsp), %rax + movq 8608(%rsp), %rcx + leaq 4480(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$6: + addq $384, %rcx + leaq 4992(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$5: + movq %rax, %rcx + leaq 5504(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$4: + addq $384, %rcx + leaq 6016(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$3: + addq $768, %rax + movq 64(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 72(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 80(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 88(%rsp), %rcx + movq %rcx, (%rax) + movq 8592(%rsp), %rax + addq $768, %rax + movq 8584(%rsp), %rcx + movq (%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 8(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 16(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 24(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 32(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 40(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 48(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 56(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 64(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 72(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 80(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 88(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 96(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 176(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 184(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 192(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 200(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 208(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 216(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 224(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 232(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 240(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 248(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 256(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 264(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 272(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 280(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 288(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 296(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 304(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 312(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 320(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 328(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 336(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 344(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 352(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 360(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 368(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 376(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 384(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 392(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 400(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 408(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 416(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 424(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 432(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 440(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 448(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 456(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 464(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 472(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 480(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 488(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 496(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 504(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 512(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 520(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 528(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 536(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 544(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 552(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 560(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 568(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 576(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 584(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 592(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 600(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 608(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 616(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 624(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 632(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 640(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 648(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 656(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 664(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 672(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 680(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 688(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 696(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 704(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 712(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 720(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 728(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 736(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 744(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 752(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 760(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 768(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 776(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 784(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 792(%rcx), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq %rax, 8592(%rsp) + movq 8584(%rsp), %r8 + movq $800, %rdi + leaq 64(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_keypair_derand_jazz$2: + leaq 248(%rsp), %rsp + movq 8592(%rsp), %rax + movq 8576(%rsp), %rcx + leaq 64(%rsp), %rdx + movb (%rdx), %sil + movb %sil, (%rax) + movb 1(%rdx), %sil + movb %sil, 1(%rax) + movb 2(%rdx), %sil + movb %sil, 2(%rax) + movb 3(%rdx), %sil + movb %sil, 3(%rax) + movb 4(%rdx), %sil + movb %sil, 4(%rax) + movb 5(%rdx), %sil + movb %sil, 5(%rax) + movb 6(%rdx), %sil + movb %sil, 6(%rax) + movb 7(%rdx), %sil + movb %sil, 7(%rax) + movb 8(%rdx), %sil + movb %sil, 8(%rax) + movb 9(%rdx), %sil + movb %sil, 9(%rax) + movb 10(%rdx), %sil + movb %sil, 10(%rax) + movb 11(%rdx), %sil + movb %sil, 11(%rax) + movb 12(%rdx), %sil + movb %sil, 12(%rax) + movb 13(%rdx), %sil + movb %sil, 13(%rax) + movb 14(%rdx), %sil + movb %sil, 14(%rax) + movb 15(%rdx), %sil + movb %sil, 15(%rax) + movb 16(%rdx), %sil + movb %sil, 16(%rax) + movb 17(%rdx), %sil + movb %sil, 17(%rax) + movb 18(%rdx), %sil + movb %sil, 18(%rax) + movb 19(%rdx), %sil + movb %sil, 19(%rax) + movb 20(%rdx), %sil + movb %sil, 20(%rax) + movb 21(%rdx), %sil + movb %sil, 21(%rax) + movb 22(%rdx), %sil + movb %sil, 22(%rax) + movb 23(%rdx), %sil + movb %sil, 23(%rax) + movb 24(%rdx), %sil + movb %sil, 24(%rax) + movb 25(%rdx), %sil + movb %sil, 25(%rax) + movb 26(%rdx), %sil + movb %sil, 26(%rax) + movb 27(%rdx), %sil + movb %sil, 27(%rax) + movb 28(%rdx), %sil + movb %sil, 28(%rax) + movb 29(%rdx), %sil + movb %sil, 29(%rax) + movb 30(%rdx), %sil + movb %sil, 30(%rax) + movb 31(%rdx), %dl + movb %dl, 31(%rax) + addq $32, %rax + leaq 32(%rcx), %rcx + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + ret +L_rej_uniform_avx$1: + leaq glob_data + 4160(%rip), %rax + vmovdqu glob_data + 480(%rip), %ymm0 + movq $0, %rcx + movq $0, %rdx + vpbroadcastb glob_data + 6462(%rip), %ymm1 + vpbroadcastw glob_data + 6448(%rip), %ymm2 + vmovdqu glob_data + 0(%rip), %ymm3 + cmpq $224, %rcx + setbe %sil + cmpq $448, %rdx + setbe %dil + testb %dil, %sil + jmp L_rej_uniform_avx$9 +L_rej_uniform_avx$10: + vpermq $-108, (%r12,%rdx), %ymm4 + vpermq $-108, 24(%r12,%rdx), %ymm5 + vpshufb %ymm3, %ymm4, %ymm4 + vpshufb %ymm3, %ymm5, %ymm5 + vpsrlw $4, %ymm4, %ymm6 + vpsrlw $4, %ymm5, %ymm7 + vpblendw $-86, %ymm6, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm5, %ymm5 + vpand %ymm2, %ymm4, %ymm4 + vpand %ymm2, %ymm5, %ymm5 + vpcmpgtw %ymm4, %ymm0, %ymm6 + vpcmpgtw %ymm5, %ymm0, %ymm7 + vpacksswb %ymm7, %ymm6, %ymm6 + vpmovmskb %ymm6, %rsi + movq %rsi, %rdi + andq $255, %rdi + vmovq (%rax,%rdi,8), %xmm6 + movq %rsi, %r8 + shrq $16, %r8 + andq $255, %r8 + vmovq (%rax,%r8,8), %xmm7 + movq %rsi, %r9 + shrq $8, %r9 + andq $255, %r9 + vmovq (%rax,%r9,8), %xmm8 + shrq $24, %rsi + andq $255, %rsi + vmovq (%rax,%rsi,8), %xmm9 + vinserti128 $1, %xmm7, %ymm6, %ymm6 + popcnt %rdi, %rdi + popcnt %r8, %r8 + addq %rcx, %rdi + vinserti128 $1, %xmm9, %ymm8, %ymm7 + addq %rdi, %r8 + popcnt %r9, %r9 + addq %r8, %r9 + popcnt %rsi, %rsi + addq %r9, %rsi + vpaddb %ymm1, %ymm6, %ymm8 + vpunpcklbw %ymm8, %ymm6, %ymm6 + vpaddb %ymm1, %ymm7, %ymm8 + vpunpcklbw %ymm8, %ymm7, %ymm7 + vpshufb %ymm6, %ymm4, %ymm4 + vpshufb %ymm7, %ymm5, %ymm5 + vmovdqu %xmm4, (%rbp,%rcx,2) + vextracti128 $1, %ymm4, (%rbp,%rdi,2) + vmovdqu %xmm5, (%rbp,%r8,2) + vextracti128 $1, %ymm5, (%rbp,%r9,2) + movq %rsi, %rcx + cmpq $224, %rcx + setbe %sil + addq $48, %rdx + cmpq $448, %rdx + setbe %dil + testb %dil, %sil +L_rej_uniform_avx$9: + jne L_rej_uniform_avx$10 + cmpq $248, %rcx + setbe %sil + cmpq $488, %rdx + setbe %dil + testb %dil, %sil + movq $21845, %rsi + jmp L_rej_uniform_avx$7 +L_rej_uniform_avx$8: + vmovdqu (%r12,%rdx), %xmm4 + vpshufb %xmm3, %xmm4, %xmm4 + vpsrlw $4, %xmm4, %xmm5 + vpblendw $-86, %xmm5, %xmm4, %xmm4 + vpand %xmm2, %xmm4, %xmm4 + vpcmpgtw %xmm4, %xmm0, %xmm5 + vpmovmskb %xmm5, %rdi + pext %rsi, %rdi, %rdi + vmovq (%rax,%rdi,8), %xmm5 + popcnt %rdi, %rdi + vpaddb %xmm1, %xmm5, %xmm6 + vpunpcklbw %xmm6, %xmm5, %xmm5 + vpshufb %xmm5, %xmm4, %xmm4 + vmovdqu %xmm4, (%rbp,%rcx,2) + addq %rdi, %rcx + addq $12, %rdx + cmpq $248, %rcx + setbe %dil + cmpq $488, %rdx + setbe %r8b + testb %r8b, %dil +L_rej_uniform_avx$7: + jne L_rej_uniform_avx$8 + cmpq $255, %rcx + setbe %al + cmpq $501, %rdx + setbe %sil + testb %sil, %al + jmp L_rej_uniform_avx$2 +L_rej_uniform_avx$3: + movzbw (%r12,%rdx), %ax + incq %rdx + movzbw (%r12,%rdx), %di + incq %rdx + movw %di, %si + shlw $8, %di + orw %di, %ax + andw $4095, %ax + shrw $4, %si + movzbw (%r12,%rdx), %di + incq %rdx + shlw $4, %di + orw %di, %si + cmpw $3329, %ax + jnb L_rej_uniform_avx$6 + movw %ax, (%rbp,%rcx,2) + incq %rcx +L_rej_uniform_avx$6: + cmpw $3329, %si + jnb L_rej_uniform_avx$4 + cmpq $256, %rcx + jnb L_rej_uniform_avx$4 + movw %si, (%rbp,%rcx,2) + incq %rcx +L_rej_uniform_avx$5: +L_rej_uniform_avx$4: + cmpq $255, %rcx + setbe %al + cmpq $501, %rdx + setbe %sil + testb %sil, %al +L_rej_uniform_avx$2: + jne L_rej_uniform_avx$3 + ret +L_poly_tomsg_1$1: + call L_poly_csubq$1 +L_poly_tomsg_1$2: + leaq glob_data + 256(%rip), %rsi + vmovdqu (%rsi), %ymm0 + leaq glob_data + 224(%rip), %rsi + vmovdqu (%rsi), %ymm1 + vmovdqu (%rcx), %ymm2 + vmovdqu 32(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, (%rax) + vmovdqu 64(%rcx), %ymm2 + vmovdqu 96(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 4(%rax) + vmovdqu 128(%rcx), %ymm2 + vmovdqu 160(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 8(%rax) + vmovdqu 192(%rcx), %ymm2 + vmovdqu 224(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 12(%rax) + vmovdqu 256(%rcx), %ymm2 + vmovdqu 288(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 16(%rax) + vmovdqu 320(%rcx), %ymm2 + vmovdqu 352(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 20(%rax) + vmovdqu 384(%rcx), %ymm2 + vmovdqu 416(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 24(%rax) + vmovdqu 448(%rcx), %ymm2 + vmovdqu 480(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm0 + vpsraw $15, %ymm2, %ymm3 + vpsraw $15, %ymm0, %ymm4 + vpxor %ymm3, %ymm2, %ymm2 + vpxor %ymm4, %ymm0, %ymm0 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm0, %ymm0 + vpacksswb %ymm0, %ymm2, %ymm0 + vpermq $-40, %ymm0, %ymm0 + vpmovmskb %ymm0, %ecx + movl %ecx, 28(%rax) + ret +L_poly_tobytes$1: + leaq glob_data + 480(%rip), %rsi + vmovdqu (%rsi), %ymm0 + vmovdqu (%rdx), %ymm7 + vmovdqu 32(%rdx), %ymm8 + vmovdqu 64(%rdx), %ymm1 + vmovdqu 96(%rdx), %ymm2 + vmovdqu 128(%rdx), %ymm3 + vmovdqu 160(%rdx), %ymm4 + vmovdqu 192(%rdx), %ymm5 + vmovdqu 224(%rdx), %ymm6 + vpsubw %ymm0, %ymm7, %ymm7 + vpsraw $15, %ymm7, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm0, %ymm8, %ymm8 + vpsraw $15, %ymm8, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm1, %ymm9, %ymm1 + vpsubw %ymm0, %ymm2, %ymm2 + vpsraw $15, %ymm2, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm2, %ymm9, %ymm2 + vpsubw %ymm0, %ymm3, %ymm3 + vpsraw $15, %ymm3, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm3, %ymm9, %ymm3 + vpsubw %ymm0, %ymm4, %ymm4 + vpsraw $15, %ymm4, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm4, %ymm9, %ymm4 + vpsubw %ymm0, %ymm5, %ymm5 + vpsraw $15, %ymm5, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm0, %ymm6, %ymm6 + vpsraw $15, %ymm6, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm6, %ymm9, %ymm6 + vpsllw $12, %ymm8, %ymm9 + vpor %ymm7, %ymm9, %ymm7 + vpsrlw $4, %ymm8, %ymm8 + vpsllw $8, %ymm1, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpsrlw $8, %ymm1, %ymm1 + vpsllw $4, %ymm2, %ymm2 + vpor %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm4, %ymm2 + vpor %ymm3, %ymm2, %ymm2 + vpsrlw $4, %ymm4, %ymm3 + vpsllw $8, %ymm5, %ymm4 + vpor %ymm4, %ymm3, %ymm3 + vpsrlw $8, %ymm5, %ymm4 + vpsllw $4, %ymm6, %ymm5 + vpor %ymm5, %ymm4, %ymm4 + vpslld $16, %ymm8, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm7, %ymm6 + vpblendw $-86, %ymm8, %ymm6, %ymm6 + vpslld $16, %ymm2, %ymm7 + vpblendw $-86, %ymm7, %ymm1, %ymm7 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm1 + vpslld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm2, %ymm3, %ymm8 + vpsrld $16, %ymm3, %ymm2 + vpblendw $-86, %ymm4, %ymm2, %ymm2 + vmovsldup %ymm7, %ymm3 + vpblendd $-86, %ymm3, %ymm5, %ymm3 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm7, %ymm4, %ymm4 + vmovsldup %ymm6, %ymm5 + vpblendd $-86, %ymm5, %ymm8, %ymm5 + vpsrlq $32, %ymm8, %ymm7 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vmovsldup %ymm2, %ymm7 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm2, %ymm1, %ymm1 + vpunpcklqdq %ymm5, %ymm3, %ymm2 + vpunpckhqdq %ymm5, %ymm3, %ymm3 + vpunpcklqdq %ymm4, %ymm7, %ymm5 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vpunpcklqdq %ymm1, %ymm6, %ymm7 + vpunpckhqdq %ymm1, %ymm6, %ymm1 + vperm2i128 $32, %ymm5, %ymm2, %ymm6 + vperm2i128 $49, %ymm5, %ymm2, %ymm2 + vperm2i128 $32, %ymm3, %ymm7, %ymm5 + vperm2i128 $49, %ymm3, %ymm7, %ymm3 + vperm2i128 $32, %ymm1, %ymm4, %ymm7 + vperm2i128 $49, %ymm1, %ymm4, %ymm1 + vmovdqu %ymm6, (%rcx) + vmovdqu %ymm5, 32(%rcx) + vmovdqu %ymm7, 64(%rcx) + vmovdqu %ymm2, 96(%rcx) + vmovdqu %ymm3, 128(%rcx) + vmovdqu %ymm1, 160(%rcx) + vmovdqu 256(%rdx), %ymm7 + vmovdqu 288(%rdx), %ymm8 + vmovdqu 320(%rdx), %ymm1 + vmovdqu 352(%rdx), %ymm2 + vmovdqu 384(%rdx), %ymm3 + vmovdqu 416(%rdx), %ymm4 + vmovdqu 448(%rdx), %ymm5 + vmovdqu 480(%rdx), %ymm6 + vpsubw %ymm0, %ymm7, %ymm7 + vpsraw $15, %ymm7, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm0, %ymm8, %ymm8 + vpsraw $15, %ymm8, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm1, %ymm9, %ymm1 + vpsubw %ymm0, %ymm2, %ymm2 + vpsraw $15, %ymm2, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm2, %ymm9, %ymm2 + vpsubw %ymm0, %ymm3, %ymm3 + vpsraw $15, %ymm3, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm3, %ymm9, %ymm3 + vpsubw %ymm0, %ymm4, %ymm4 + vpsraw $15, %ymm4, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm4, %ymm9, %ymm4 + vpsubw %ymm0, %ymm5, %ymm5 + vpsraw $15, %ymm5, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm0, %ymm6, %ymm6 + vpsraw $15, %ymm6, %ymm9 + vpand %ymm0, %ymm9, %ymm0 + vpaddw %ymm6, %ymm0, %ymm0 + vpsllw $12, %ymm8, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vpsrlw $4, %ymm8, %ymm7 + vpsllw $8, %ymm1, %ymm8 + vpor %ymm8, %ymm7, %ymm7 + vpsrlw $8, %ymm1, %ymm1 + vpsllw $4, %ymm2, %ymm2 + vpor %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm4, %ymm2 + vpor %ymm3, %ymm2, %ymm2 + vpsrlw $4, %ymm4, %ymm3 + vpsllw $8, %ymm5, %ymm4 + vpor %ymm4, %ymm3, %ymm3 + vpsrlw $8, %ymm5, %ymm4 + vpsllw $4, %ymm0, %ymm0 + vpor %ymm0, %ymm4, %ymm0 + vpslld $16, %ymm7, %ymm4 + vpblendw $-86, %ymm4, %ymm6, %ymm4 + vpsrld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm7, %ymm5, %ymm5 + vpslld $16, %ymm2, %ymm6 + vpblendw $-86, %ymm6, %ymm1, %ymm6 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm1 + vpslld $16, %ymm0, %ymm2 + vpblendw $-86, %ymm2, %ymm3, %ymm7 + vpsrld $16, %ymm3, %ymm2 + vpblendw $-86, %ymm0, %ymm2, %ymm0 + vmovsldup %ymm6, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm6, %ymm3, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm7, %ymm4 + vpsrlq $32, %ymm7, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm0, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vpunpcklqdq %ymm4, %ymm2, %ymm1 + vpunpckhqdq %ymm4, %ymm2, %ymm2 + vpunpcklqdq %ymm3, %ymm6, %ymm4 + vpunpckhqdq %ymm3, %ymm6, %ymm3 + vpunpcklqdq %ymm0, %ymm5, %ymm6 + vpunpckhqdq %ymm0, %ymm5, %ymm0 + vperm2i128 $32, %ymm4, %ymm1, %ymm5 + vperm2i128 $49, %ymm4, %ymm1, %ymm1 + vperm2i128 $32, %ymm2, %ymm6, %ymm4 + vperm2i128 $49, %ymm2, %ymm6, %ymm2 + vperm2i128 $32, %ymm0, %ymm3, %ymm6 + vperm2i128 $49, %ymm0, %ymm3, %ymm0 + vmovdqu %ymm5, 192(%rcx) + vmovdqu %ymm4, 224(%rcx) + vmovdqu %ymm6, 256(%rcx) + vmovdqu %ymm1, 288(%rcx) + vmovdqu %ymm2, 320(%rcx) + vmovdqu %ymm0, 352(%rcx) + ret +L_poly_sub$1: + vmovdqu (%rsi), %ymm0 + vmovdqu (%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, (%rcx) + vmovdqu 32(%rsi), %ymm0 + vmovdqu 32(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rcx) + vmovdqu 64(%rsi), %ymm0 + vmovdqu 64(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rcx) + vmovdqu 96(%rsi), %ymm0 + vmovdqu 96(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rcx) + vmovdqu 128(%rsi), %ymm0 + vmovdqu 128(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rcx) + vmovdqu 160(%rsi), %ymm0 + vmovdqu 160(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rcx) + vmovdqu 192(%rsi), %ymm0 + vmovdqu 192(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rcx) + vmovdqu 224(%rsi), %ymm0 + vmovdqu 224(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rcx) + vmovdqu 256(%rsi), %ymm0 + vmovdqu 256(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rcx) + vmovdqu 288(%rsi), %ymm0 + vmovdqu 288(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rcx) + vmovdqu 320(%rsi), %ymm0 + vmovdqu 320(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rcx) + vmovdqu 352(%rsi), %ymm0 + vmovdqu 352(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rcx) + vmovdqu 384(%rsi), %ymm0 + vmovdqu 384(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rcx) + vmovdqu 416(%rsi), %ymm0 + vmovdqu 416(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rcx) + vmovdqu 448(%rsi), %ymm0 + vmovdqu 448(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rcx) + vmovdqu 480(%rsi), %ymm0 + vmovdqu 480(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_ntt$1: + leaq glob_data + 1312(%rip), %rsi + vmovdqu glob_data + 480(%rip), %ymm0 + vpbroadcastd (%rsi), %ymm1 + vpbroadcastd 4(%rsi), %ymm2 + vmovdqu (%rcx), %ymm3 + vmovdqu 32(%rcx), %ymm14 + vmovdqu 64(%rcx), %ymm4 + vmovdqu 96(%rcx), %ymm5 + vmovdqu 256(%rcx), %ymm6 + vmovdqu 288(%rcx), %ymm7 + vmovdqu 320(%rcx), %ymm12 + vmovdqu 352(%rcx), %ymm8 + vpmullw %ymm6, %ymm1, %ymm9 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmullw %ymm7, %ymm1, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm15 + vpmullw %ymm12, %ymm1, %ymm11 + vpmulhw %ymm12, %ymm2, %ymm7 + vpmullw %ymm8, %ymm1, %ymm12 + vpmulhw %ymm8, %ymm2, %ymm8 + vpmulhw %ymm0, %ymm9, %ymm9 + vpmulhw %ymm0, %ymm10, %ymm10 + vpmulhw %ymm0, %ymm11, %ymm11 + vpmulhw %ymm0, %ymm12, %ymm12 + vpsubw %ymm15, %ymm14, %ymm13 + vpaddw %ymm14, %ymm15, %ymm14 + vpsubw %ymm6, %ymm3, %ymm15 + vpaddw %ymm3, %ymm6, %ymm3 + vpsubw %ymm8, %ymm5, %ymm6 + vpaddw %ymm5, %ymm8, %ymm5 + vpsubw %ymm7, %ymm4, %ymm8 + vpaddw %ymm4, %ymm7, %ymm4 + vpaddw %ymm15, %ymm9, %ymm7 + vpsubw %ymm9, %ymm3, %ymm3 + vpaddw %ymm13, %ymm10, %ymm9 + vpsubw %ymm10, %ymm14, %ymm10 + vpaddw %ymm8, %ymm11, %ymm8 + vpsubw %ymm11, %ymm4, %ymm4 + vpaddw %ymm6, %ymm12, %ymm6 + vpsubw %ymm12, %ymm5, %ymm5 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm10, 32(%rcx) + vmovdqu %ymm4, 64(%rcx) + vmovdqu %ymm5, 96(%rcx) + vmovdqu %ymm7, 256(%rcx) + vmovdqu %ymm9, 288(%rcx) + vmovdqu %ymm8, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu 128(%rcx), %ymm3 + vmovdqu 160(%rcx), %ymm12 + vmovdqu 192(%rcx), %ymm4 + vmovdqu 224(%rcx), %ymm5 + vmovdqu 384(%rcx), %ymm6 + vmovdqu 416(%rcx), %ymm7 + vmovdqu 448(%rcx), %ymm10 + vmovdqu 480(%rcx), %ymm11 + vpmullw %ymm6, %ymm1, %ymm14 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmullw %ymm7, %ymm1, %ymm8 + vpmulhw %ymm7, %ymm2, %ymm13 + vpmullw %ymm10, %ymm1, %ymm9 + vpmulhw %ymm10, %ymm2, %ymm7 + vpmullw %ymm11, %ymm1, %ymm10 + vpmulhw %ymm11, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm14, %ymm2 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm9, %ymm9 + vpmulhw %ymm0, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm6, %ymm3, %ymm13 + vpaddw %ymm3, %ymm6, %ymm3 + vpsubw %ymm1, %ymm5, %ymm6 + vpaddw %ymm5, %ymm1, %ymm1 + vpsubw %ymm7, %ymm4, %ymm5 + vpaddw %ymm4, %ymm7, %ymm4 + vpaddw %ymm13, %ymm2, %ymm7 + vpsubw %ymm2, %ymm3, %ymm2 + vpaddw %ymm11, %ymm8, %ymm3 + vpsubw %ymm8, %ymm12, %ymm8 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm9, %ymm4, %ymm9 + vpaddw %ymm6, %ymm10, %ymm4 + vpsubw %ymm10, %ymm1, %ymm14 + vmovdqu %ymm7, 384(%rcx) + vmovdqu %ymm3, 416(%rcx) + vmovdqu %ymm5, 448(%rcx) + vmovdqu %ymm4, 480(%rcx) + vpbroadcastd 8(%rsi), %ymm1 + vpbroadcastd 12(%rsi), %ymm4 + vmovdqu %ymm8, %ymm10 + vmovdqu %ymm9, %ymm3 + vmovdqu (%rcx), %ymm6 + vmovdqu 32(%rcx), %ymm5 + vmovdqu 64(%rcx), %ymm9 + vmovdqu 96(%rcx), %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm4, %ymm8 + vpmullw %ymm10, %ymm1, %ymm13 + vpmulhw %ymm10, %ymm4, %ymm12 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm4, %ymm10 + vpmullw %ymm14, %ymm1, %ymm3 + vpmulhw %ymm14, %ymm4, %ymm14 + vpmulhw %ymm0, %ymm11, %ymm11 + vpmulhw %ymm0, %ymm13, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm12, %ymm5, %ymm4 + vpaddw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm6, %ymm12 + vpaddw %ymm6, %ymm8, %ymm13 + vpsubw %ymm14, %ymm7, %ymm6 + vpaddw %ymm7, %ymm14, %ymm7 + vpsubw %ymm10, %ymm9, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm12, %ymm11, %ymm10 + vpsubw %ymm11, %ymm13, %ymm12 + vpaddw %ymm4, %ymm1, %ymm4 + vpsubw %ymm1, %ymm5, %ymm5 + vpaddw %ymm8, %ymm2, %ymm8 + vpsubw %ymm2, %ymm9, %ymm2 + vpaddw %ymm6, %ymm3, %ymm13 + vpsubw %ymm3, %ymm7, %ymm7 + vmovdqu 16(%rsi), %ymm3 + vmovdqu 48(%rsi), %ymm6 + vperm2i128 $32, %ymm10, %ymm12, %ymm11 + vperm2i128 $49, %ymm10, %ymm12, %ymm9 + vperm2i128 $32, %ymm4, %ymm5, %ymm1 + vperm2i128 $49, %ymm4, %ymm5, %ymm12 + vperm2i128 $32, %ymm8, %ymm2, %ymm5 + vperm2i128 $49, %ymm8, %ymm2, %ymm8 + vperm2i128 $32, %ymm13, %ymm7, %ymm2 + vperm2i128 $49, %ymm13, %ymm7, %ymm13 + vpmullw %ymm5, %ymm3, %ymm4 + vpmulhw %ymm5, %ymm6, %ymm10 + vpmullw %ymm8, %ymm3, %ymm14 + vpmulhw %ymm8, %ymm6, %ymm8 + vpmullw %ymm2, %ymm3, %ymm5 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm8, %ymm9, %ymm7 + vpaddw %ymm9, %ymm8, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 80(%rsi), %ymm1 + vmovdqu 112(%rsi), %ymm10 + vpunpcklqdq %ymm2, %ymm9, %ymm5 + vpunpckhqdq %ymm2, %ymm9, %ymm12 + vpunpcklqdq %ymm3, %ymm4, %ymm8 + vpunpckhqdq %ymm3, %ymm4, %ymm6 + vpunpcklqdq %ymm7, %ymm13, %ymm2 + vpunpckhqdq %ymm7, %ymm13, %ymm4 + vpunpcklqdq %ymm11, %ymm14, %ymm3 + vpunpckhqdq %ymm11, %ymm14, %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm10, %ymm13 + vpmullw %ymm4, %ymm1, %ymm14 + vpmulhw %ymm4, %ymm10, %ymm4 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm10, %ymm9 + vpmullw %ymm7, %ymm1, %ymm3 + vpmulhw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm0, %ymm11, %ymm10 + vpmulhw %ymm0, %ymm14, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm4, %ymm12, %ymm11 + vpaddw %ymm12, %ymm4, %ymm4 + vpsubw %ymm13, %ymm5, %ymm12 + vpaddw %ymm5, %ymm13, %ymm13 + vpsubw %ymm7, %ymm6, %ymm5 + vpaddw %ymm6, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpaddw %ymm12, %ymm10, %ymm9 + vpsubw %ymm10, %ymm13, %ymm12 + vpaddw %ymm11, %ymm1, %ymm10 + vpsubw %ymm1, %ymm4, %ymm4 + vpaddw %ymm7, %ymm2, %ymm7 + vpsubw %ymm2, %ymm8, %ymm2 + vpaddw %ymm5, %ymm3, %ymm13 + vpsubw %ymm3, %ymm6, %ymm6 + vmovdqu 144(%rsi), %ymm3 + vmovdqu 176(%rsi), %ymm5 + vmovsldup %ymm9, %ymm1 + vpblendd $-86, %ymm1, %ymm12, %ymm11 + vpsrlq $32, %ymm12, %ymm1 + vpblendd $-86, %ymm9, %ymm1, %ymm8 + vmovsldup %ymm10, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm1 + vpsrlq $32, %ymm4, %ymm4 + vpblendd $-86, %ymm10, %ymm4, %ymm12 + vmovsldup %ymm7, %ymm4 + vpblendd $-86, %ymm4, %ymm2, %ymm9 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm7, %ymm2, %ymm7 + vmovsldup %ymm13, %ymm2 + vpblendd $-86, %ymm2, %ymm6, %ymm2 + vpsrlq $32, %ymm6, %ymm4 + vpblendd $-86, %ymm13, %ymm4, %ymm13 + vpmullw %ymm9, %ymm3, %ymm4 + vpmulhw %ymm9, %ymm5, %ymm10 + vpmullw %ymm7, %ymm3, %ymm14 + vpmulhw %ymm7, %ymm5, %ymm9 + vpmullw %ymm2, %ymm3, %ymm6 + vpmulhw %ymm2, %ymm5, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm5, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 208(%rsi), %ymm5 + vmovdqu 240(%rsi), %ymm6 + vpslld $16, %ymm2, %ymm1 + vpblendw $-86, %ymm1, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm8 + vpslld $16, %ymm3, %ymm1 + vpblendw $-86, %ymm1, %ymm4, %ymm1 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm12 + vpslld $16, %ymm7, %ymm2 + vpblendw $-86, %ymm2, %ymm13, %ymm4 + vpsrld $16, %ymm13, %ymm2 + vpblendw $-86, %ymm7, %ymm2, %ymm7 + vpslld $16, %ymm11, %ymm2 + vpblendw $-86, %ymm2, %ymm14, %ymm2 + vpsrld $16, %ymm14, %ymm3 + vpblendw $-86, %ymm11, %ymm3, %ymm13 + vpmullw %ymm4, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm6, %ymm11 + vpmullw %ymm7, %ymm5, %ymm4 + vpmulhw %ymm7, %ymm6, %ymm9 + vpmullw %ymm2, %ymm5, %ymm7 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm5, %ymm14 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm4, %ymm4 + vpmulhw %ymm0, %ymm7, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm11, %ymm10, %ymm9 + vpaddw %ymm10, %ymm11, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm3 + vpaddw %ymm7, %ymm4, %ymm7 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm8 + vpsubw %ymm5, %ymm1, %ymm1 + vpaddw %ymm11, %ymm6, %ymm5 + vpsubw %ymm6, %ymm12, %ymm10 + vmovdqu 272(%rsi), %ymm9 + vmovdqu 304(%rsi), %ymm13 + vmovdqu 336(%rsi), %ymm11 + vmovdqu 368(%rsi), %ymm6 + vpmullw %ymm1, %ymm9, %ymm14 + vpmulhw %ymm1, %ymm13, %ymm12 + vpmullw %ymm10, %ymm9, %ymm9 + vpmulhw %ymm10, %ymm13, %ymm13 + vpmullw %ymm8, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm6, %ymm1 + vpmullw %ymm5, %ymm11, %ymm11 + vpmulhw %ymm5, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpmulhw %ymm0, %ymm9, %ymm8 + vpmulhw %ymm0, %ymm10, %ymm9 + vpmulhw %ymm0, %ymm11, %ymm10 + vpsubw %ymm13, %ymm4, %ymm11 + vpaddw %ymm4, %ymm13, %ymm4 + vpsubw %ymm12, %ymm3, %ymm13 + vpaddw %ymm3, %ymm12, %ymm3 + vpsubw %ymm5, %ymm7, %ymm12 + vpaddw %ymm7, %ymm5, %ymm5 + vpsubw %ymm1, %ymm2, %ymm7 + vpaddw %ymm2, %ymm1, %ymm1 + vpaddw %ymm13, %ymm6, %ymm2 + vpsubw %ymm6, %ymm3, %ymm3 + vpaddw %ymm11, %ymm8, %ymm6 + vpsubw %ymm8, %ymm4, %ymm4 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm9, %ymm1, %ymm8 + vpaddw %ymm12, %ymm10, %ymm1 + vpsubw %ymm10, %ymm5, %ymm5 + vmovdqu glob_data + 416(%rip), %ymm9 + vpmulhw %ymm9, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm9, %ymm4, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm9, %ymm8, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm8, %ymm8 + vpmulhw %ymm9, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm5 + vpmulhw %ymm9, %ymm2, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm9, %ymm6, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm6, %ymm6 + vpmulhw %ymm9, %ymm7, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm9, %ymm1, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm1, %ymm1 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu %ymm2, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu %ymm8, 128(%rcx) + vmovdqu %ymm5, 160(%rcx) + vmovdqu %ymm7, 192(%rcx) + vmovdqu %ymm1, 224(%rcx) + vpbroadcastd 400(%rsi), %ymm5 + vpbroadcastd 404(%rsi), %ymm8 + vmovdqu 384(%rcx), %ymm1 + vmovdqu 416(%rcx), %ymm2 + vmovdqu 448(%rcx), %ymm10 + vmovdqu 480(%rcx), %ymm9 + vmovdqu 256(%rcx), %ymm3 + vmovdqu 288(%rcx), %ymm7 + vmovdqu 320(%rcx), %ymm6 + vmovdqu 352(%rcx), %ymm4 + vpmullw %ymm1, %ymm5, %ymm14 + vpmulhw %ymm1, %ymm8, %ymm12 + vpmullw %ymm2, %ymm5, %ymm1 + vpmulhw %ymm2, %ymm8, %ymm11 + vpmullw %ymm10, %ymm5, %ymm2 + vpmulhw %ymm10, %ymm8, %ymm13 + vpmullw %ymm9, %ymm5, %ymm10 + vpmulhw %ymm9, %ymm8, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm8 + vpmulhw %ymm0, %ymm1, %ymm9 + vpmulhw %ymm0, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm10, %ymm2 + vpsubw %ymm11, %ymm7, %ymm10 + vpaddw %ymm7, %ymm11, %ymm11 + vpsubw %ymm12, %ymm3, %ymm7 + vpaddw %ymm3, %ymm12, %ymm12 + vpsubw %ymm5, %ymm4, %ymm3 + vpaddw %ymm4, %ymm5, %ymm4 + vpsubw %ymm13, %ymm6, %ymm5 + vpaddw %ymm6, %ymm13, %ymm6 + vpaddw %ymm7, %ymm8, %ymm7 + vpsubw %ymm8, %ymm12, %ymm12 + vpaddw %ymm10, %ymm9, %ymm8 + vpsubw %ymm9, %ymm11, %ymm9 + vpaddw %ymm5, %ymm1, %ymm5 + vpsubw %ymm1, %ymm6, %ymm6 + vpaddw %ymm3, %ymm2, %ymm13 + vpsubw %ymm2, %ymm4, %ymm2 + vmovdqu 408(%rsi), %ymm3 + vmovdqu 440(%rsi), %ymm4 + vperm2i128 $32, %ymm7, %ymm12, %ymm10 + vperm2i128 $49, %ymm7, %ymm12, %ymm11 + vperm2i128 $32, %ymm8, %ymm9, %ymm1 + vperm2i128 $49, %ymm8, %ymm9, %ymm12 + vperm2i128 $32, %ymm5, %ymm6, %ymm8 + vperm2i128 $49, %ymm5, %ymm6, %ymm5 + vperm2i128 $32, %ymm13, %ymm2, %ymm6 + vperm2i128 $49, %ymm13, %ymm2, %ymm13 + vpmullw %ymm8, %ymm3, %ymm7 + vpmulhw %ymm8, %ymm4, %ymm14 + vpmullw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm5, %ymm4, %ymm8 + vpmullw %ymm6, %ymm3, %ymm5 + vpmulhw %ymm6, %ymm4, %ymm2 + vpmullw %ymm13, %ymm3, %ymm6 + vpmulhw %ymm13, %ymm4, %ymm13 + vpmulhw %ymm0, %ymm7, %ymm3 + vpmulhw %ymm0, %ymm9, %ymm4 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm8, %ymm11, %ymm7 + vpaddw %ymm11, %ymm8, %ymm8 + vpsubw %ymm14, %ymm10, %ymm9 + vpaddw %ymm10, %ymm14, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 472(%rsi), %ymm1 + vmovdqu 504(%rsi), %ymm10 + vpunpcklqdq %ymm2, %ymm9, %ymm5 + vpunpckhqdq %ymm2, %ymm9, %ymm12 + vpunpcklqdq %ymm3, %ymm4, %ymm8 + vpunpckhqdq %ymm3, %ymm4, %ymm6 + vpunpcklqdq %ymm7, %ymm13, %ymm2 + vpunpckhqdq %ymm7, %ymm13, %ymm4 + vpunpcklqdq %ymm11, %ymm14, %ymm3 + vpunpckhqdq %ymm11, %ymm14, %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm10, %ymm13 + vpmullw %ymm4, %ymm1, %ymm14 + vpmulhw %ymm4, %ymm10, %ymm4 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm10, %ymm9 + vpmullw %ymm7, %ymm1, %ymm3 + vpmulhw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm0, %ymm11, %ymm10 + vpmulhw %ymm0, %ymm14, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm4, %ymm12, %ymm11 + vpaddw %ymm12, %ymm4, %ymm4 + vpsubw %ymm13, %ymm5, %ymm12 + vpaddw %ymm5, %ymm13, %ymm13 + vpsubw %ymm7, %ymm6, %ymm5 + vpaddw %ymm6, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpaddw %ymm12, %ymm10, %ymm9 + vpsubw %ymm10, %ymm13, %ymm12 + vpaddw %ymm11, %ymm1, %ymm10 + vpsubw %ymm1, %ymm4, %ymm4 + vpaddw %ymm7, %ymm2, %ymm7 + vpsubw %ymm2, %ymm8, %ymm2 + vpaddw %ymm5, %ymm3, %ymm13 + vpsubw %ymm3, %ymm6, %ymm6 + vmovdqu 536(%rsi), %ymm3 + vmovdqu 568(%rsi), %ymm5 + vmovsldup %ymm9, %ymm1 + vpblendd $-86, %ymm1, %ymm12, %ymm11 + vpsrlq $32, %ymm12, %ymm1 + vpblendd $-86, %ymm9, %ymm1, %ymm8 + vmovsldup %ymm10, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm1 + vpsrlq $32, %ymm4, %ymm4 + vpblendd $-86, %ymm10, %ymm4, %ymm12 + vmovsldup %ymm7, %ymm4 + vpblendd $-86, %ymm4, %ymm2, %ymm9 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm7, %ymm2, %ymm7 + vmovsldup %ymm13, %ymm2 + vpblendd $-86, %ymm2, %ymm6, %ymm2 + vpsrlq $32, %ymm6, %ymm4 + vpblendd $-86, %ymm13, %ymm4, %ymm13 + vpmullw %ymm9, %ymm3, %ymm4 + vpmulhw %ymm9, %ymm5, %ymm10 + vpmullw %ymm7, %ymm3, %ymm14 + vpmulhw %ymm7, %ymm5, %ymm9 + vpmullw %ymm2, %ymm3, %ymm6 + vpmulhw %ymm2, %ymm5, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm5, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 600(%rsi), %ymm5 + vmovdqu 632(%rsi), %ymm6 + vpslld $16, %ymm2, %ymm1 + vpblendw $-86, %ymm1, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm8 + vpslld $16, %ymm3, %ymm1 + vpblendw $-86, %ymm1, %ymm4, %ymm1 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm12 + vpslld $16, %ymm7, %ymm2 + vpblendw $-86, %ymm2, %ymm13, %ymm4 + vpsrld $16, %ymm13, %ymm2 + vpblendw $-86, %ymm7, %ymm2, %ymm7 + vpslld $16, %ymm11, %ymm2 + vpblendw $-86, %ymm2, %ymm14, %ymm2 + vpsrld $16, %ymm14, %ymm3 + vpblendw $-86, %ymm11, %ymm3, %ymm13 + vpmullw %ymm4, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm6, %ymm11 + vpmullw %ymm7, %ymm5, %ymm4 + vpmulhw %ymm7, %ymm6, %ymm9 + vpmullw %ymm2, %ymm5, %ymm7 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm5, %ymm14 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm4, %ymm4 + vpmulhw %ymm0, %ymm7, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm11, %ymm10, %ymm9 + vpaddw %ymm10, %ymm11, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm3 + vpaddw %ymm7, %ymm4, %ymm7 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm8 + vpsubw %ymm5, %ymm1, %ymm1 + vpaddw %ymm11, %ymm6, %ymm5 + vpsubw %ymm6, %ymm12, %ymm10 + vmovdqu 664(%rsi), %ymm9 + vmovdqu 696(%rsi), %ymm13 + vmovdqu 728(%rsi), %ymm11 + vmovdqu 760(%rsi), %ymm6 + vpmullw %ymm1, %ymm9, %ymm14 + vpmulhw %ymm1, %ymm13, %ymm12 + vpmullw %ymm10, %ymm9, %ymm9 + vpmulhw %ymm10, %ymm13, %ymm13 + vpmullw %ymm8, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm6, %ymm1 + vpmullw %ymm5, %ymm11, %ymm11 + vpmulhw %ymm5, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpmulhw %ymm0, %ymm9, %ymm8 + vpmulhw %ymm0, %ymm10, %ymm9 + vpmulhw %ymm0, %ymm11, %ymm10 + vpsubw %ymm13, %ymm4, %ymm11 + vpaddw %ymm4, %ymm13, %ymm4 + vpsubw %ymm12, %ymm3, %ymm13 + vpaddw %ymm3, %ymm12, %ymm3 + vpsubw %ymm5, %ymm7, %ymm12 + vpaddw %ymm7, %ymm5, %ymm5 + vpsubw %ymm1, %ymm2, %ymm7 + vpaddw %ymm2, %ymm1, %ymm1 + vpaddw %ymm13, %ymm6, %ymm2 + vpsubw %ymm6, %ymm3, %ymm3 + vpaddw %ymm11, %ymm8, %ymm6 + vpsubw %ymm8, %ymm4, %ymm4 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm9, %ymm1, %ymm8 + vpaddw %ymm12, %ymm10, %ymm1 + vpsubw %ymm10, %ymm5, %ymm5 + vmovdqu glob_data + 416(%rip), %ymm9 + vpmulhw %ymm9, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm9, %ymm4, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm9, %ymm8, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm8, %ymm8 + vpmulhw %ymm9, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm5 + vpmulhw %ymm9, %ymm2, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm9, %ymm6, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm6, %ymm6 + vpmulhw %ymm9, %ymm7, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm9, %ymm1, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm0 + vpsubw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm3, 256(%rcx) + vmovdqu %ymm4, 288(%rcx) + vmovdqu %ymm2, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu %ymm8, 384(%rcx) + vmovdqu %ymm5, 416(%rcx) + vmovdqu %ymm7, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_invntt$1: + leaq glob_data + 512(%rip), %rsi + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu (%rsi), %ymm12 + vmovdqu 64(%rsi), %ymm1 + vmovdqu 32(%rsi), %ymm2 + vmovdqu 96(%rsi), %ymm5 + vmovdqu (%rcx), %ymm3 + vmovdqu 32(%rcx), %ymm4 + vmovdqu 64(%rcx), %ymm15 + vmovdqu 96(%rcx), %ymm11 + vmovdqu 128(%rcx), %ymm7 + vmovdqu 160(%rcx), %ymm8 + vmovdqu 192(%rcx), %ymm13 + vmovdqu 224(%rcx), %ymm14 + vpsubw %ymm15, %ymm3, %ymm6 + vpsubw %ymm11, %ymm4, %ymm9 + vpsubw %ymm13, %ymm7, %ymm10 + vpaddw %ymm3, %ymm15, %ymm3 + vpaddw %ymm4, %ymm11, %ymm4 + vpmullw %ymm6, %ymm12, %ymm11 + vpaddw %ymm7, %ymm13, %ymm7 + vpmullw %ymm9, %ymm12, %ymm12 + vpsubw %ymm14, %ymm8, %ymm13 + vpaddw %ymm8, %ymm14, %ymm8 + vpmullw %ymm10, %ymm1, %ymm14 + vpmullw %ymm13, %ymm1, %ymm1 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm5, %ymm9 + vpmulhw %ymm13, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm10 + vpmulhw %ymm12, %ymm0, %ymm11 + vpmulhw %ymm14, %ymm0, %ymm12 + vpmulhw %ymm1, %ymm0, %ymm1 + vpsubw %ymm10, %ymm6, %ymm6 + vpsubw %ymm11, %ymm2, %ymm11 + vpsubw %ymm12, %ymm9, %ymm9 + vpsubw %ymm1, %ymm5, %ymm13 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu 128(%rsi), %ymm2 + vmovdqu 160(%rsi), %ymm5 + vpmulhw %ymm1, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm10 + vpmulhw %ymm1, %ymm4, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm12 + vpmulhw %ymm1, %ymm7, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm7, %ymm7 + vpmulhw %ymm1, %ymm8, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm8, %ymm8 + vpsubw %ymm7, %ymm10, %ymm15 + vpsubw %ymm8, %ymm12, %ymm3 + vpsubw %ymm9, %ymm6, %ymm4 + vpaddw %ymm10, %ymm7, %ymm7 + vpaddw %ymm12, %ymm8, %ymm8 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm6, %ymm9, %ymm9 + vpmullw %ymm3, %ymm2, %ymm6 + vpsubw %ymm13, %ymm11, %ymm12 + vpaddw %ymm11, %ymm13, %ymm11 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm12, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm12, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm6, %ymm0, %ymm12 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm6 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm12, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm6, %ymm5, %ymm5 + vpslld $16, %ymm8, %ymm6 + vpblendw $-86, %ymm6, %ymm7, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpblendw $-86, %ymm8, %ymm7, %ymm7 + vpslld $16, %ymm11, %ymm8 + vpblendw $-86, %ymm8, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm11, %ymm8, %ymm11 + vpslld $16, %ymm3, %ymm8 + vpblendw $-86, %ymm8, %ymm2, %ymm8 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm9 + vpslld $16, %ymm5, %ymm2 + vpblendw $-86, %ymm2, %ymm4, %ymm12 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm5, %ymm2, %ymm13 + vmovdqu 192(%rsi), %ymm2 + vmovdqu 224(%rsi), %ymm5 + vpsubw %ymm7, %ymm6, %ymm15 + vpsubw %ymm11, %ymm10, %ymm3 + vpsubw %ymm9, %ymm8, %ymm4 + vpaddw %ymm6, %ymm7, %ymm6 + vpaddw %ymm10, %ymm11, %ymm7 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm8, %ymm9, %ymm8 + vpmullw %ymm3, %ymm2, %ymm9 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm11, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm11, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm9, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm9 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm11, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm9, %ymm5, %ymm5 + vpmulhw %ymm1, %ymm6, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm6, %ymm6 + vmovsldup %ymm7, %ymm9 + vpblendd $-86, %ymm9, %ymm6, %ymm9 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm7, %ymm6, %ymm10 + vmovsldup %ymm12, %ymm6 + vpblendd $-86, %ymm6, %ymm8, %ymm11 + vpsrlq $32, %ymm8, %ymm6 + vpblendd $-86, %ymm12, %ymm6, %ymm14 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm2, %ymm12 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm13 + vmovsldup %ymm5, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm5, %ymm3, %ymm3 + vmovdqu 256(%rsi), %ymm4 + vmovdqu 288(%rsi), %ymm5 + vpsubw %ymm10, %ymm9, %ymm6 + vpsubw %ymm14, %ymm11, %ymm7 + vpsubw %ymm13, %ymm12, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm11, %ymm14, %ymm10 + vpmullw %ymm6, %ymm4, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm7, %ymm4, %ymm13 + vpsubw %ymm3, %ymm2, %ymm14 + vpaddw %ymm2, %ymm3, %ymm2 + vpmullw %ymm8, %ymm4, %ymm3 + vpmullw %ymm14, %ymm4, %ymm4 + vpmulhw %ymm6, %ymm5, %ymm6 + vpmulhw %ymm7, %ymm5, %ymm7 + vpmulhw %ymm8, %ymm5, %ymm8 + vpmulhw %ymm14, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm3, %ymm0, %ymm3 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm11, %ymm6, %ymm6 + vpsubw %ymm13, %ymm7, %ymm7 + vpsubw %ymm3, %ymm8, %ymm3 + vpsubw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm1, %ymm9, %ymm5 + vpsraw $10, %ymm5, %ymm5 + vpmullw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm9, %ymm8 + vpunpcklqdq %ymm10, %ymm8, %ymm5 + vpunpckhqdq %ymm10, %ymm8, %ymm8 + vpunpcklqdq %ymm2, %ymm12, %ymm9 + vpunpckhqdq %ymm2, %ymm12, %ymm2 + vpunpcklqdq %ymm7, %ymm6, %ymm10 + vpunpckhqdq %ymm7, %ymm6, %ymm6 + vpunpcklqdq %ymm4, %ymm3, %ymm7 + vpunpckhqdq %ymm4, %ymm3, %ymm3 + vmovdqu 320(%rsi), %ymm4 + vmovdqu 352(%rsi), %ymm11 + vpsubw %ymm8, %ymm5, %ymm12 + vpsubw %ymm2, %ymm9, %ymm13 + vpsubw %ymm6, %ymm10, %ymm14 + vpaddw %ymm5, %ymm8, %ymm5 + vpaddw %ymm9, %ymm2, %ymm2 + vpmullw %ymm12, %ymm4, %ymm8 + vpaddw %ymm10, %ymm6, %ymm6 + vpmullw %ymm13, %ymm4, %ymm9 + vpsubw %ymm3, %ymm7, %ymm10 + vpaddw %ymm7, %ymm3, %ymm3 + vpmullw %ymm14, %ymm4, %ymm7 + vpmullw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm8, %ymm12, %ymm8 + vpsubw %ymm9, %ymm13, %ymm9 + vpsubw %ymm7, %ymm14, %ymm7 + vpsubw %ymm4, %ymm10, %ymm4 + vpmulhw %ymm1, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm10 + vperm2i128 $32, %ymm2, %ymm10, %ymm5 + vperm2i128 $49, %ymm2, %ymm10, %ymm2 + vperm2i128 $32, %ymm3, %ymm6, %ymm10 + vperm2i128 $49, %ymm3, %ymm6, %ymm3 + vperm2i128 $32, %ymm9, %ymm8, %ymm6 + vperm2i128 $49, %ymm9, %ymm8, %ymm8 + vperm2i128 $32, %ymm4, %ymm7, %ymm9 + vperm2i128 $49, %ymm4, %ymm7, %ymm4 + vpbroadcastd 384(%rsi), %ymm7 + vpbroadcastd 388(%rsi), %ymm11 + vpsubw %ymm2, %ymm5, %ymm12 + vpsubw %ymm3, %ymm10, %ymm13 + vpsubw %ymm8, %ymm6, %ymm14 + vpaddw %ymm5, %ymm2, %ymm2 + vpaddw %ymm10, %ymm3, %ymm3 + vpmullw %ymm12, %ymm7, %ymm5 + vpaddw %ymm6, %ymm8, %ymm6 + vpmullw %ymm13, %ymm7, %ymm8 + vpsubw %ymm4, %ymm9, %ymm10 + vpaddw %ymm9, %ymm4, %ymm4 + vpmullw %ymm14, %ymm7, %ymm9 + vpmullw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm5, %ymm0, %ymm5 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpsubw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm13, %ymm8 + vpsubw %ymm9, %ymm14, %ymm9 + vpsubw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, (%rcx) + vmovdqu %ymm3, 32(%rcx) + vmovdqu %ymm6, 64(%rcx) + vmovdqu %ymm4, 96(%rcx) + vmovdqu %ymm5, 128(%rcx) + vmovdqu %ymm8, 160(%rcx) + vmovdqu %ymm9, 192(%rcx) + vmovdqu %ymm7, 224(%rcx) + vmovdqu 392(%rsi), %ymm12 + vmovdqu 456(%rsi), %ymm1 + vmovdqu 424(%rsi), %ymm2 + vmovdqu 488(%rsi), %ymm5 + vmovdqu 256(%rcx), %ymm3 + vmovdqu 288(%rcx), %ymm4 + vmovdqu 320(%rcx), %ymm15 + vmovdqu 352(%rcx), %ymm11 + vmovdqu 384(%rcx), %ymm7 + vmovdqu 416(%rcx), %ymm8 + vmovdqu 448(%rcx), %ymm13 + vmovdqu 480(%rcx), %ymm14 + vpsubw %ymm15, %ymm3, %ymm6 + vpsubw %ymm11, %ymm4, %ymm9 + vpsubw %ymm13, %ymm7, %ymm10 + vpaddw %ymm3, %ymm15, %ymm3 + vpaddw %ymm4, %ymm11, %ymm4 + vpmullw %ymm6, %ymm12, %ymm11 + vpaddw %ymm7, %ymm13, %ymm7 + vpmullw %ymm9, %ymm12, %ymm12 + vpsubw %ymm14, %ymm8, %ymm13 + vpaddw %ymm8, %ymm14, %ymm8 + vpmullw %ymm10, %ymm1, %ymm14 + vpmullw %ymm13, %ymm1, %ymm1 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm5, %ymm9 + vpmulhw %ymm13, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm10 + vpmulhw %ymm12, %ymm0, %ymm11 + vpmulhw %ymm14, %ymm0, %ymm12 + vpmulhw %ymm1, %ymm0, %ymm1 + vpsubw %ymm10, %ymm6, %ymm6 + vpsubw %ymm11, %ymm2, %ymm11 + vpsubw %ymm12, %ymm9, %ymm9 + vpsubw %ymm1, %ymm5, %ymm13 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu 520(%rsi), %ymm2 + vmovdqu 552(%rsi), %ymm5 + vpmulhw %ymm1, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm10 + vpmulhw %ymm1, %ymm4, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm12 + vpmulhw %ymm1, %ymm7, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm7, %ymm7 + vpmulhw %ymm1, %ymm8, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm8, %ymm8 + vpsubw %ymm7, %ymm10, %ymm15 + vpsubw %ymm8, %ymm12, %ymm3 + vpsubw %ymm9, %ymm6, %ymm4 + vpaddw %ymm10, %ymm7, %ymm7 + vpaddw %ymm12, %ymm8, %ymm8 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm6, %ymm9, %ymm9 + vpmullw %ymm3, %ymm2, %ymm6 + vpsubw %ymm13, %ymm11, %ymm12 + vpaddw %ymm11, %ymm13, %ymm11 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm12, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm12, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm6, %ymm0, %ymm12 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm6 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm12, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm6, %ymm5, %ymm5 + vpslld $16, %ymm8, %ymm6 + vpblendw $-86, %ymm6, %ymm7, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpblendw $-86, %ymm8, %ymm7, %ymm7 + vpslld $16, %ymm11, %ymm8 + vpblendw $-86, %ymm8, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm11, %ymm8, %ymm11 + vpslld $16, %ymm3, %ymm8 + vpblendw $-86, %ymm8, %ymm2, %ymm8 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm9 + vpslld $16, %ymm5, %ymm2 + vpblendw $-86, %ymm2, %ymm4, %ymm12 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm5, %ymm2, %ymm13 + vmovdqu 584(%rsi), %ymm2 + vmovdqu 616(%rsi), %ymm5 + vpsubw %ymm7, %ymm6, %ymm15 + vpsubw %ymm11, %ymm10, %ymm3 + vpsubw %ymm9, %ymm8, %ymm4 + vpaddw %ymm6, %ymm7, %ymm6 + vpaddw %ymm10, %ymm11, %ymm7 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm8, %ymm9, %ymm8 + vpmullw %ymm3, %ymm2, %ymm9 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm11, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm11, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm9, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm9 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm11, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm9, %ymm5, %ymm5 + vpmulhw %ymm1, %ymm6, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm6, %ymm6 + vmovsldup %ymm7, %ymm9 + vpblendd $-86, %ymm9, %ymm6, %ymm9 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm7, %ymm6, %ymm10 + vmovsldup %ymm12, %ymm6 + vpblendd $-86, %ymm6, %ymm8, %ymm11 + vpsrlq $32, %ymm8, %ymm6 + vpblendd $-86, %ymm12, %ymm6, %ymm14 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm2, %ymm12 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm13 + vmovsldup %ymm5, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm5, %ymm3, %ymm3 + vmovdqu 648(%rsi), %ymm4 + vmovdqu 680(%rsi), %ymm5 + vpsubw %ymm10, %ymm9, %ymm6 + vpsubw %ymm14, %ymm11, %ymm7 + vpsubw %ymm13, %ymm12, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm11, %ymm14, %ymm10 + vpmullw %ymm6, %ymm4, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm7, %ymm4, %ymm13 + vpsubw %ymm3, %ymm2, %ymm14 + vpaddw %ymm2, %ymm3, %ymm2 + vpmullw %ymm8, %ymm4, %ymm3 + vpmullw %ymm14, %ymm4, %ymm4 + vpmulhw %ymm6, %ymm5, %ymm6 + vpmulhw %ymm7, %ymm5, %ymm7 + vpmulhw %ymm8, %ymm5, %ymm8 + vpmulhw %ymm14, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm3, %ymm0, %ymm3 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm11, %ymm6, %ymm6 + vpsubw %ymm13, %ymm7, %ymm7 + vpsubw %ymm3, %ymm8, %ymm3 + vpsubw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm1, %ymm9, %ymm5 + vpsraw $10, %ymm5, %ymm5 + vpmullw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm9, %ymm8 + vpunpcklqdq %ymm10, %ymm8, %ymm5 + vpunpckhqdq %ymm10, %ymm8, %ymm8 + vpunpcklqdq %ymm2, %ymm12, %ymm9 + vpunpckhqdq %ymm2, %ymm12, %ymm2 + vpunpcklqdq %ymm7, %ymm6, %ymm10 + vpunpckhqdq %ymm7, %ymm6, %ymm6 + vpunpcklqdq %ymm4, %ymm3, %ymm7 + vpunpckhqdq %ymm4, %ymm3, %ymm3 + vmovdqu 712(%rsi), %ymm4 + vmovdqu 744(%rsi), %ymm11 + vpsubw %ymm8, %ymm5, %ymm12 + vpsubw %ymm2, %ymm9, %ymm13 + vpsubw %ymm6, %ymm10, %ymm14 + vpaddw %ymm5, %ymm8, %ymm5 + vpaddw %ymm9, %ymm2, %ymm2 + vpmullw %ymm12, %ymm4, %ymm8 + vpaddw %ymm10, %ymm6, %ymm6 + vpmullw %ymm13, %ymm4, %ymm9 + vpsubw %ymm3, %ymm7, %ymm10 + vpaddw %ymm7, %ymm3, %ymm3 + vpmullw %ymm14, %ymm4, %ymm7 + vpmullw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm8, %ymm12, %ymm8 + vpsubw %ymm9, %ymm13, %ymm9 + vpsubw %ymm7, %ymm14, %ymm7 + vpsubw %ymm4, %ymm10, %ymm4 + vpmulhw %ymm1, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm10 + vperm2i128 $32, %ymm2, %ymm10, %ymm5 + vperm2i128 $49, %ymm2, %ymm10, %ymm2 + vperm2i128 $32, %ymm3, %ymm6, %ymm10 + vperm2i128 $49, %ymm3, %ymm6, %ymm3 + vperm2i128 $32, %ymm9, %ymm8, %ymm6 + vperm2i128 $49, %ymm9, %ymm8, %ymm8 + vperm2i128 $32, %ymm4, %ymm7, %ymm9 + vperm2i128 $49, %ymm4, %ymm7, %ymm4 + vpbroadcastd 776(%rsi), %ymm7 + vpbroadcastd 780(%rsi), %ymm11 + vpsubw %ymm2, %ymm5, %ymm12 + vpsubw %ymm3, %ymm10, %ymm13 + vpsubw %ymm8, %ymm6, %ymm14 + vpaddw %ymm5, %ymm2, %ymm2 + vpaddw %ymm10, %ymm3, %ymm3 + vpmullw %ymm12, %ymm7, %ymm5 + vpaddw %ymm6, %ymm8, %ymm6 + vpmullw %ymm13, %ymm7, %ymm8 + vpsubw %ymm4, %ymm9, %ymm10 + vpaddw %ymm9, %ymm4, %ymm4 + vpmullw %ymm14, %ymm7, %ymm9 + vpmullw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm5, %ymm0, %ymm5 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpsubw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm13, %ymm8 + vpsubw %ymm9, %ymm14, %ymm9 + vpsubw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm2, %ymm10 + vmovdqu %ymm5, 384(%rcx) + vmovdqu %ymm8, 416(%rcx) + vmovdqu %ymm9, 448(%rcx) + vmovdqu %ymm7, 480(%rcx) + vpbroadcastd 784(%rsi), %ymm1 + vpbroadcastd 788(%rsi), %ymm2 + vmovdqu %ymm4, %ymm7 + vmovdqu %ymm3, %ymm4 + vmovdqu %ymm10, %ymm3 + vmovdqu (%rcx), %ymm9 + vmovdqu 32(%rcx), %ymm13 + vmovdqu 64(%rcx), %ymm5 + vmovdqu 96(%rcx), %ymm8 + vpsubw %ymm3, %ymm9, %ymm10 + vpsubw %ymm4, %ymm13, %ymm11 + vpsubw %ymm6, %ymm5, %ymm12 + vpaddw %ymm9, %ymm3, %ymm3 + vpaddw %ymm13, %ymm4, %ymm4 + vpmullw %ymm10, %ymm1, %ymm13 + vpaddw %ymm5, %ymm6, %ymm5 + vpmullw %ymm11, %ymm1, %ymm6 + vpsubw %ymm7, %ymm8, %ymm14 + vpaddw %ymm8, %ymm7, %ymm7 + vpmullw %ymm12, %ymm1, %ymm8 + vpmullw %ymm14, %ymm1, %ymm9 + vpmulhw %ymm10, %ymm2, %ymm10 + vpmulhw %ymm11, %ymm2, %ymm11 + vpmulhw %ymm12, %ymm2, %ymm12 + vpmulhw %ymm14, %ymm2, %ymm14 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm6, %ymm0, %ymm6 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpsubw %ymm13, %ymm10, %ymm10 + vpsubw %ymm6, %ymm11, %ymm6 + vpsubw %ymm8, %ymm12, %ymm11 + vpsubw %ymm9, %ymm14, %ymm12 + vmovdqu glob_data + 352(%rip), %ymm8 + vmovdqu glob_data + 384(%rip), %ymm9 + vmovdqu %ymm10, 256(%rcx) + vmovdqu %ymm6, 288(%rcx) + vmovdqu %ymm11, 320(%rcx) + vmovdqu %ymm12, 352(%rcx) + vpmullw %ymm3, %ymm8, %ymm6 + vpmulhw %ymm3, %ymm9, %ymm3 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm3, %ymm3 + vpmullw %ymm4, %ymm8, %ymm6 + vpmulhw %ymm4, %ymm9, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vpmullw %ymm5, %ymm8, %ymm6 + vpmulhw %ymm5, %ymm9, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm5, %ymm5 + vpmullw %ymm7, %ymm8, %ymm6 + vpmulhw %ymm7, %ymm9, %ymm7 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm7, %ymm6 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu %ymm5, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu 384(%rcx), %ymm4 + vmovdqu 416(%rcx), %ymm5 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm10 + vmovdqu 128(%rcx), %ymm6 + vmovdqu 160(%rcx), %ymm9 + vmovdqu 192(%rcx), %ymm8 + vmovdqu 224(%rcx), %ymm11 + vpsubw %ymm4, %ymm6, %ymm12 + vpsubw %ymm5, %ymm9, %ymm13 + vpsubw %ymm7, %ymm8, %ymm3 + vpaddw %ymm6, %ymm4, %ymm4 + vpaddw %ymm9, %ymm5, %ymm5 + vpmullw %ymm12, %ymm1, %ymm6 + vpaddw %ymm8, %ymm7, %ymm7 + vpmullw %ymm13, %ymm1, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpmullw %ymm3, %ymm1, %ymm11 + vpmullw %ymm9, %ymm1, %ymm1 + vpmulhw %ymm12, %ymm2, %ymm12 + vpmulhw %ymm13, %ymm2, %ymm13 + vpmulhw %ymm3, %ymm2, %ymm3 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm6, %ymm0, %ymm6 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm11, %ymm0, %ymm9 + vpmulhw %ymm1, %ymm0, %ymm11 + vpsubw %ymm6, %ymm12, %ymm1 + vpsubw %ymm8, %ymm13, %ymm6 + vpsubw %ymm9, %ymm3, %ymm8 + vpsubw %ymm11, %ymm2, %ymm9 + vmovdqu glob_data + 352(%rip), %ymm2 + vmovdqu glob_data + 384(%rip), %ymm3 + vmovdqu %ymm1, 384(%rcx) + vmovdqu %ymm6, 416(%rcx) + vmovdqu %ymm8, 448(%rcx) + vmovdqu %ymm9, 480(%rcx) + vpmullw %ymm4, %ymm2, %ymm1 + vpmulhw %ymm4, %ymm3, %ymm4 + vpmulhw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm4, %ymm1 + vpmullw %ymm5, %ymm2, %ymm4 + vpmulhw %ymm5, %ymm3, %ymm5 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm5, %ymm4 + vpmullw %ymm7, %ymm2, %ymm5 + vpmulhw %ymm7, %ymm3, %ymm6 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm6, %ymm5 + vpmullw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm0 + vpsubw %ymm0, %ymm3, %ymm0 + vmovdqu %ymm1, 128(%rcx) + vmovdqu %ymm4, 160(%rcx) + vmovdqu %ymm5, 192(%rcx) + vmovdqu %ymm0, 224(%rcx) + ret +L_poly_getnoise_eta1122_4x$1: + movq %rdx, 1984(%rsp) + vmovdqu (%rax), %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 320(%rsp) + vmovdqu %ymm0, 608(%rsp) + vmovdqu %ymm0, 896(%rsp) + movb %sil, 64(%rsp) + incb %sil + movb %sil, 352(%rsp) + incb %sil + movb %sil, 640(%rsp) + incb %sil + movb %sil, 928(%rsp) + leaq 1184(%rsp), %rax + leaq 32(%rsp), %rdx + leaq 320(%rsp), %rsi + leaq 608(%rsp), %rdi + leaq 896(%rsp), %r10 + call L_shake256_absorb4x_33$1 +L_poly_getnoise_eta1122_4x$4: + leaq 1184(%rsp), %rax + leaq 32(%rsp), %rbp + leaq 320(%rsp), %r10 + leaq 608(%rsp), %r11 + leaq 896(%rsp), %rbx + movq %rbp, %r12 + movq %r10, %r13 + movq %r11, %r14 + movq %rbx, %r15 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L_poly_getnoise_eta1122_4x$3: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r12) + vmovhpd %xmm1, (%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r14) + vmovhpd %xmm0, (%r15) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r12) + vmovhpd %xmm1, 8(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r14) + vmovhpd %xmm0, 8(%r15) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r12) + vmovhpd %xmm1, 16(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r14) + vmovhpd %xmm0, 16(%r15) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r12) + vmovhpd %xmm1, 24(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r14) + vmovhpd %xmm0, 24(%r15) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r12) + vmovhpd %xmm1, 32(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r14) + vmovhpd %xmm0, 32(%r15) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r12) + vmovhpd %xmm1, 40(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r14) + vmovhpd %xmm0, 40(%r15) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r12) + vmovhpd %xmm1, 48(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r14) + vmovhpd %xmm0, 48(%r15) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r12) + vmovhpd %xmm1, 56(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r14) + vmovhpd %xmm0, 56(%r15) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r12) + vmovhpd %xmm1, 64(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r14) + vmovhpd %xmm0, 64(%r15) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r12) + vmovhpd %xmm1, 72(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r14) + vmovhpd %xmm0, 72(%r15) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r12) + vmovhpd %xmm1, 80(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r14) + vmovhpd %xmm0, 80(%r15) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r12) + vmovhpd %xmm1, 88(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r14) + vmovhpd %xmm0, 88(%r15) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r12) + vmovhpd %xmm1, 96(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r14) + vmovhpd %xmm0, 96(%r15) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r12) + vmovhpd %xmm1, 104(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r14) + vmovhpd %xmm0, 104(%r15) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r12) + vmovhpd %xmm1, 112(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r14) + vmovhpd %xmm0, 112(%r15) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r12) + vmovhpd %xmm1, 120(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r14) + vmovhpd %xmm0, 120(%r15) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r12) + vmovhpd %xmm1, 128(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r14) + vmovhpd %xmm0, 128(%r15) + leaq 136(%rbp), %rbp + leaq 136(%r10), %r10 + leaq 136(%r11), %r11 + leaq 136(%rbx), %rbx + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L_poly_getnoise_eta1122_4x$2: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rbp) + vmovhpd %xmm1, (%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r11) + vmovhpd %xmm0, (%rbx) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rbp) + vmovhpd %xmm1, 8(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r11) + vmovhpd %xmm0, 8(%rbx) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rbp) + vmovhpd %xmm1, 16(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r11) + vmovhpd %xmm0, 16(%rbx) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rbp) + vmovhpd %xmm1, 24(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r11) + vmovhpd %xmm0, 24(%rbx) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rbp) + vmovhpd %xmm1, 32(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r11) + vmovhpd %xmm0, 32(%rbx) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rbp) + vmovhpd %xmm1, 40(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r11) + vmovhpd %xmm0, 40(%rbx) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rbp) + vmovhpd %xmm1, 48(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r11) + vmovhpd %xmm0, 48(%rbx) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rbp) + vmovhpd %xmm1, 56(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r11) + vmovhpd %xmm0, 56(%rbx) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rbp) + vmovhpd %xmm1, 64(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r11) + vmovhpd %xmm0, 64(%rbx) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rbp) + vmovhpd %xmm1, 72(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r11) + vmovhpd %xmm0, 72(%rbx) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rbp) + vmovhpd %xmm1, 80(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r11) + vmovhpd %xmm0, 80(%rbx) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rbp) + vmovhpd %xmm1, 88(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r11) + vmovhpd %xmm0, 88(%rbx) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rbp) + vmovhpd %xmm1, 96(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r11) + vmovhpd %xmm0, 96(%rbx) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rbp) + vmovhpd %xmm1, 104(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r11) + vmovhpd %xmm0, 104(%rbx) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rbp) + vmovhpd %xmm1, 112(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r11) + vmovhpd %xmm0, 112(%rbx) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rbp) + vmovhpd %xmm1, 120(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r11) + vmovhpd %xmm0, 120(%rbx) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rbp) + vmovhpd %xmm1, 128(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r11) + vmovhpd %xmm0, 128(%rbx) + movq 1984(%rsp), %rax + leaq 32(%rsp), %rdx + movl $2396745, 1992(%rsp) + movl $7190235, 1996(%rsp) + movl $7, 2000(%rsp) + movl $458752, 2004(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 1992(%rsp), %ymm0 + vpbroadcastd 1996(%rsp), %ymm1 + vpbroadcastd 2000(%rsp), %ymm2 + vpbroadcastd 2004(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm6, 32(%rax) + vmovdqu 24(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%rax) + vmovdqu %ymm6, 96(%rax) + vmovdqu 48(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%rax) + vmovdqu %ymm6, 160(%rax) + vmovdqu 72(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%rax) + vmovdqu %ymm6, 224(%rax) + vmovdqu 96(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%rax) + vmovdqu %ymm6, 288(%rax) + vmovdqu 120(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%rax) + vmovdqu %ymm6, 352(%rax) + vmovdqu 144(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%rax) + vmovdqu %ymm6, 416(%rax) + vmovdqu 168(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%rax) + vmovdqu %ymm0, 480(%rax) + leaq 320(%rsp), %rax + movl $2396745, 2004(%rsp) + movl $7190235, 2000(%rsp) + movl $7, 1996(%rsp) + movl $458752, 1992(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 2004(%rsp), %ymm0 + vpbroadcastd 2000(%rsp), %ymm1 + vpbroadcastd 1996(%rsp), %ymm2 + vpbroadcastd 1992(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%rcx) + vmovdqu %ymm6, 32(%rcx) + vmovdqu 24(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu 48(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%rcx) + vmovdqu %ymm6, 160(%rcx) + vmovdqu 72(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%rcx) + vmovdqu %ymm6, 224(%rcx) + vmovdqu 96(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%rcx) + vmovdqu %ymm6, 288(%rcx) + vmovdqu 120(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu 144(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%rcx) + vmovdqu %ymm6, 416(%rcx) + vmovdqu 168(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + leaq 608(%rsp), %rax + movl $1431655765, 1992(%rsp) + movl $858993459, 1996(%rsp) + movl $50529027, 2000(%rsp) + movl $252645135, 2004(%rsp) + vpbroadcastd 1992(%rsp), %ymm0 + vpbroadcastd 1996(%rsp), %ymm1 + vpbroadcastd 2000(%rsp), %ymm2 + vpbroadcastd 2004(%rsp), %ymm3 + vmovdqu (%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%r8) + vmovdqu %ymm7, 32(%r8) + vmovdqu %ymm6, 64(%r8) + vmovdqu %ymm4, 96(%r8) + vmovdqu 32(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%r8) + vmovdqu %ymm7, 160(%r8) + vmovdqu %ymm6, 192(%r8) + vmovdqu %ymm4, 224(%r8) + vmovdqu 64(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%r8) + vmovdqu %ymm7, 288(%r8) + vmovdqu %ymm6, 320(%r8) + vmovdqu %ymm4, 352(%r8) + vmovdqu 96(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%r8) + vmovdqu %ymm3, 416(%r8) + vmovdqu %ymm2, 448(%r8) + vmovdqu %ymm0, 480(%r8) + leaq 896(%rsp), %rax + movl $1431655765, 2004(%rsp) + movl $858993459, 2000(%rsp) + movl $50529027, 1996(%rsp) + movl $252645135, 1992(%rsp) + vpbroadcastd 2004(%rsp), %ymm0 + vpbroadcastd 2000(%rsp), %ymm1 + vpbroadcastd 1996(%rsp), %ymm2 + vpbroadcastd 1992(%rsp), %ymm3 + vmovdqu (%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%r9) + vmovdqu %ymm7, 32(%r9) + vmovdqu %ymm6, 64(%r9) + vmovdqu %ymm4, 96(%r9) + vmovdqu 32(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%r9) + vmovdqu %ymm7, 160(%r9) + vmovdqu %ymm6, 192(%r9) + vmovdqu %ymm4, 224(%r9) + vmovdqu 64(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%r9) + vmovdqu %ymm7, 288(%r9) + vmovdqu %ymm6, 320(%r9) + vmovdqu %ymm4, 352(%r9) + vmovdqu 96(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%r9) + vmovdqu %ymm3, 416(%r9) + vmovdqu %ymm2, 448(%r9) + vmovdqu %ymm0, 480(%r9) + ret +L_poly_getnoise_eta1_4x$1: + movq %rax, 1984(%rsp) + vmovdqu (%rdx), %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 320(%rsp) + vmovdqu %ymm0, 608(%rsp) + vmovdqu %ymm0, 896(%rsp) + movb %sil, 64(%rsp) + incb %sil + movb %sil, 352(%rsp) + incb %sil + movb %sil, 640(%rsp) + incb %sil + movb %sil, 928(%rsp) + leaq 1184(%rsp), %rax + leaq 32(%rsp), %rdx + leaq 320(%rsp), %rsi + leaq 608(%rsp), %rdi + leaq 896(%rsp), %r10 + call L_shake256_absorb4x_33$1 +L_poly_getnoise_eta1_4x$4: + leaq 1184(%rsp), %rax + leaq 32(%rsp), %rbp + leaq 320(%rsp), %r10 + leaq 608(%rsp), %r11 + leaq 896(%rsp), %rbx + movq %rbp, %r12 + movq %r10, %r13 + movq %r11, %r14 + movq %rbx, %r15 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L_poly_getnoise_eta1_4x$3: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r12) + vmovhpd %xmm1, (%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r14) + vmovhpd %xmm0, (%r15) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r12) + vmovhpd %xmm1, 8(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r14) + vmovhpd %xmm0, 8(%r15) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r12) + vmovhpd %xmm1, 16(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r14) + vmovhpd %xmm0, 16(%r15) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r12) + vmovhpd %xmm1, 24(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r14) + vmovhpd %xmm0, 24(%r15) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r12) + vmovhpd %xmm1, 32(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r14) + vmovhpd %xmm0, 32(%r15) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r12) + vmovhpd %xmm1, 40(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r14) + vmovhpd %xmm0, 40(%r15) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r12) + vmovhpd %xmm1, 48(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r14) + vmovhpd %xmm0, 48(%r15) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r12) + vmovhpd %xmm1, 56(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r14) + vmovhpd %xmm0, 56(%r15) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r12) + vmovhpd %xmm1, 64(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r14) + vmovhpd %xmm0, 64(%r15) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r12) + vmovhpd %xmm1, 72(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r14) + vmovhpd %xmm0, 72(%r15) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r12) + vmovhpd %xmm1, 80(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r14) + vmovhpd %xmm0, 80(%r15) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r12) + vmovhpd %xmm1, 88(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r14) + vmovhpd %xmm0, 88(%r15) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r12) + vmovhpd %xmm1, 96(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r14) + vmovhpd %xmm0, 96(%r15) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r12) + vmovhpd %xmm1, 104(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r14) + vmovhpd %xmm0, 104(%r15) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r12) + vmovhpd %xmm1, 112(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r14) + vmovhpd %xmm0, 112(%r15) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r12) + vmovhpd %xmm1, 120(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r14) + vmovhpd %xmm0, 120(%r15) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r12) + vmovhpd %xmm1, 128(%r13) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r14) + vmovhpd %xmm0, 128(%r15) + leaq 136(%rbp), %rbp + leaq 136(%r10), %r10 + leaq 136(%r11), %r11 + leaq 136(%rbx), %rbx + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L_poly_getnoise_eta1_4x$2: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rbp) + vmovhpd %xmm1, (%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r11) + vmovhpd %xmm0, (%rbx) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rbp) + vmovhpd %xmm1, 8(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r11) + vmovhpd %xmm0, 8(%rbx) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rbp) + vmovhpd %xmm1, 16(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r11) + vmovhpd %xmm0, 16(%rbx) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rbp) + vmovhpd %xmm1, 24(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r11) + vmovhpd %xmm0, 24(%rbx) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rbp) + vmovhpd %xmm1, 32(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r11) + vmovhpd %xmm0, 32(%rbx) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rbp) + vmovhpd %xmm1, 40(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r11) + vmovhpd %xmm0, 40(%rbx) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rbp) + vmovhpd %xmm1, 48(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r11) + vmovhpd %xmm0, 48(%rbx) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rbp) + vmovhpd %xmm1, 56(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r11) + vmovhpd %xmm0, 56(%rbx) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rbp) + vmovhpd %xmm1, 64(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r11) + vmovhpd %xmm0, 64(%rbx) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rbp) + vmovhpd %xmm1, 72(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r11) + vmovhpd %xmm0, 72(%rbx) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rbp) + vmovhpd %xmm1, 80(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r11) + vmovhpd %xmm0, 80(%rbx) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rbp) + vmovhpd %xmm1, 88(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r11) + vmovhpd %xmm0, 88(%rbx) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rbp) + vmovhpd %xmm1, 96(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r11) + vmovhpd %xmm0, 96(%rbx) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rbp) + vmovhpd %xmm1, 104(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r11) + vmovhpd %xmm0, 104(%rbx) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rbp) + vmovhpd %xmm1, 112(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r11) + vmovhpd %xmm0, 112(%rbx) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rbp) + vmovhpd %xmm1, 120(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r11) + vmovhpd %xmm0, 120(%rbx) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rbp) + vmovhpd %xmm1, 128(%r10) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r11) + vmovhpd %xmm0, 128(%rbx) + movq 1984(%rsp), %rax + leaq 32(%rsp), %rdx + movl $2396745, 1992(%rsp) + movl $7190235, 1996(%rsp) + movl $7, 2000(%rsp) + movl $458752, 2004(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 1992(%rsp), %ymm0 + vpbroadcastd 1996(%rsp), %ymm1 + vpbroadcastd 2000(%rsp), %ymm2 + vpbroadcastd 2004(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm6, 32(%rax) + vmovdqu 24(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%rax) + vmovdqu %ymm6, 96(%rax) + vmovdqu 48(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%rax) + vmovdqu %ymm6, 160(%rax) + vmovdqu 72(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%rax) + vmovdqu %ymm6, 224(%rax) + vmovdqu 96(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%rax) + vmovdqu %ymm6, 288(%rax) + vmovdqu 120(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%rax) + vmovdqu %ymm6, 352(%rax) + vmovdqu 144(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%rax) + vmovdqu %ymm6, 416(%rax) + vmovdqu 168(%rdx), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%rax) + vmovdqu %ymm0, 480(%rax) + leaq 320(%rsp), %rax + movl $2396745, 2004(%rsp) + movl $7190235, 2000(%rsp) + movl $7, 1996(%rsp) + movl $458752, 1992(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 2004(%rsp), %ymm0 + vpbroadcastd 2000(%rsp), %ymm1 + vpbroadcastd 1996(%rsp), %ymm2 + vpbroadcastd 1992(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%rcx) + vmovdqu %ymm6, 32(%rcx) + vmovdqu 24(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu 48(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%rcx) + vmovdqu %ymm6, 160(%rcx) + vmovdqu 72(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%rcx) + vmovdqu %ymm6, 224(%rcx) + vmovdqu 96(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%rcx) + vmovdqu %ymm6, 288(%rcx) + vmovdqu 120(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu 144(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%rcx) + vmovdqu %ymm6, 416(%rcx) + vmovdqu 168(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + leaq 608(%rsp), %rax + movl $2396745, 1992(%rsp) + movl $7190235, 1996(%rsp) + movl $7, 2000(%rsp) + movl $458752, 2004(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 1992(%rsp), %ymm0 + vpbroadcastd 1996(%rsp), %ymm1 + vpbroadcastd 2000(%rsp), %ymm2 + vpbroadcastd 2004(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%r8) + vmovdqu %ymm6, 32(%r8) + vmovdqu 24(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%r8) + vmovdqu %ymm6, 96(%r8) + vmovdqu 48(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%r8) + vmovdqu %ymm6, 160(%r8) + vmovdqu 72(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%r8) + vmovdqu %ymm6, 224(%r8) + vmovdqu 96(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%r8) + vmovdqu %ymm6, 288(%r8) + vmovdqu 120(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%r8) + vmovdqu %ymm6, 352(%r8) + vmovdqu 144(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%r8) + vmovdqu %ymm6, 416(%r8) + vmovdqu 168(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%r8) + vmovdqu %ymm0, 480(%r8) + leaq 896(%rsp), %rax + movl $2396745, 2004(%rsp) + movl $7190235, 2000(%rsp) + movl $7, 1996(%rsp) + movl $458752, 1992(%rsp) + movw $3, 2008(%rsp) + vpbroadcastd 2004(%rsp), %ymm0 + vpbroadcastd 2000(%rsp), %ymm1 + vpbroadcastd 1996(%rsp), %ymm2 + vpbroadcastd 1992(%rsp), %ymm3 + vpbroadcastw 2008(%rsp), %ymm4 + vmovdqu glob_data + 96(%rip), %ymm5 + vmovdqu (%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, (%r9) + vmovdqu %ymm6, 32(%r9) + vmovdqu 24(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 64(%r9) + vmovdqu %ymm6, 96(%r9) + vmovdqu 48(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 128(%r9) + vmovdqu %ymm6, 160(%r9) + vmovdqu 72(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 192(%r9) + vmovdqu %ymm6, 224(%r9) + vmovdqu 96(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 256(%r9) + vmovdqu %ymm6, 288(%r9) + vmovdqu 120(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 320(%r9) + vmovdqu %ymm6, 352(%r9) + vmovdqu 144(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm6 + vpsrld $1, %ymm6, %ymm7 + vpsrld $2, %ymm6, %ymm8 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm7 + vpand %ymm8, %ymm0, %ymm8 + vpaddd %ymm7, %ymm6, %ymm6 + vpaddd %ymm8, %ymm6, %ymm6 + vpsrld $3, %ymm6, %ymm7 + vpaddd %ymm1, %ymm6, %ymm6 + vpsubd %ymm7, %ymm6, %ymm6 + vpslld $10, %ymm6, %ymm7 + vpsrld $12, %ymm6, %ymm8 + vpsrld $2, %ymm6, %ymm9 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm3, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpand %ymm3, %ymm9, %ymm9 + vpaddw %ymm7, %ymm6, %ymm6 + vpaddw %ymm9, %ymm8, %ymm7 + vpsubw %ymm4, %ymm6, %ymm6 + vpsubw %ymm4, %ymm7, %ymm7 + vpunpckldq %ymm7, %ymm6, %ymm8 + vpunpckhdq %ymm7, %ymm6, %ymm6 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vmovdqu %ymm7, 384(%r9) + vmovdqu %ymm6, 416(%r9) + vmovdqu 168(%rax), %ymm6 + vpermq $-108, %ymm6, %ymm6 + vpshufb %ymm5, %ymm6, %ymm5 + vpsrld $1, %ymm5, %ymm6 + vpsrld $2, %ymm5, %ymm7 + vpand %ymm5, %ymm0, %ymm5 + vpand %ymm6, %ymm0, %ymm6 + vpand %ymm7, %ymm0, %ymm0 + vpaddd %ymm6, %ymm5, %ymm5 + vpaddd %ymm0, %ymm5, %ymm0 + vpsrld $3, %ymm0, %ymm5 + vpaddd %ymm1, %ymm0, %ymm0 + vpsubd %ymm5, %ymm0, %ymm0 + vpslld $10, %ymm0, %ymm1 + vpsrld $12, %ymm0, %ymm5 + vpsrld $2, %ymm0, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpand %ymm3, %ymm1, %ymm1 + vpand %ymm2, %ymm5, %ymm2 + vpand %ymm3, %ymm6, %ymm3 + vpaddw %ymm1, %ymm0, %ymm0 + vpaddw %ymm3, %ymm2, %ymm1 + vpsubw %ymm4, %ymm0, %ymm0 + vpsubw %ymm4, %ymm1, %ymm1 + vpunpckldq %ymm1, %ymm0, %ymm2 + vpunpckhdq %ymm1, %ymm0, %ymm0 + vperm2i128 $32, %ymm0, %ymm2, %ymm1 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm1, 448(%r9) + vmovdqu %ymm0, 480(%r9) + ret +L_poly_getnoise$1: + movl $1431655765, 204(%rsp) + movl $858993459, 208(%rsp) + movl $50529027, 212(%rsp) + movl $252645135, 216(%rsp) + movq %rdx, 160(%rsp) + movq (%rcx), %rdx + movq %rdx, 168(%rsp) + movq 8(%rcx), %rdx + movq %rdx, 176(%rsp) + movq 16(%rcx), %rdx + movq %rdx, 184(%rsp) + movq 24(%rcx), %rcx + movq %rcx, 192(%rsp) + movb %al, 200(%rsp) + leaq 32(%rsp), %rax + leaq 168(%rsp), %rcx + leaq -248(%rsp), %rsp + call L_shake256_128_33$1 +L_poly_getnoise$2: + leaq 248(%rsp), %rsp + vpbroadcastd 204(%rsp), %ymm0 + vpbroadcastd 208(%rsp), %ymm1 + vpbroadcastd 212(%rsp), %ymm2 + vpbroadcastd 216(%rsp), %ymm3 + movq 160(%rsp), %rax + vmovdqu 32(%rsp), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%rax) + vmovdqu %ymm7, 32(%rax) + vmovdqu %ymm6, 64(%rax) + vmovdqu %ymm4, 96(%rax) + vmovdqu 64(%rsp), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%rax) + vmovdqu %ymm7, 160(%rax) + vmovdqu %ymm6, 192(%rax) + vmovdqu %ymm4, 224(%rax) + vmovdqu 96(%rsp), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%rax) + vmovdqu %ymm7, 288(%rax) + vmovdqu %ymm6, 320(%rax) + vmovdqu %ymm4, 352(%rax) + vmovdqu 128(%rsp), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%rax) + vmovdqu %ymm3, 416(%rax) + vmovdqu %ymm2, 448(%rax) + vmovdqu %ymm0, 480(%rax) + ret +L_poly_frommsg_1$1: + leaq glob_data + 288(%rip), %rsi + vmovdqu (%rsi), %ymm0 + vbroadcasti128 glob_data + 4144(%rip), %ymm1 + vbroadcasti128 glob_data + 4128(%rip), %ymm2 + vmovdqu (%rdi), %ymm3 + vpshufd $0, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm8, 32(%rax) + vmovdqu %ymm6, 256(%rax) + vmovdqu %ymm4, 288(%rax) + vpshufd $85, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, 64(%rax) + vmovdqu %ymm8, 96(%rax) + vmovdqu %ymm6, 320(%rax) + vmovdqu %ymm4, 352(%rax) + vpshufd $-86, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, 128(%rax) + vmovdqu %ymm8, 160(%rax) + vmovdqu %ymm6, 384(%rax) + vmovdqu %ymm4, 416(%rax) + vpshufd $-1, %ymm3, %ymm3 + vpsllvd %ymm1, %ymm3, %ymm1 + vpshufb %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm1, %ymm2 + vpsllw $8, %ymm1, %ymm3 + vpsllw $4, %ymm1, %ymm4 + vpsraw $15, %ymm2, %ymm2 + vpsraw $15, %ymm3, %ymm3 + vpsraw $15, %ymm4, %ymm4 + vpsraw $15, %ymm1, %ymm1 + vpand %ymm0, %ymm2, %ymm2 + vpand %ymm0, %ymm3, %ymm3 + vpand %ymm0, %ymm4, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpunpcklqdq %ymm3, %ymm2, %ymm1 + vpunpckhqdq %ymm3, %ymm2, %ymm2 + vpunpcklqdq %ymm0, %ymm4, %ymm3 + vpunpckhqdq %ymm0, %ymm4, %ymm0 + vperm2i128 $32, %ymm3, %ymm1, %ymm4 + vperm2i128 $49, %ymm3, %ymm1, %ymm1 + vperm2i128 $32, %ymm0, %ymm2, %ymm3 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm4, 192(%rax) + vmovdqu %ymm3, 224(%rax) + vmovdqu %ymm1, 448(%rax) + vmovdqu %ymm0, 480(%rax) + ret +L_poly_frommont$1: + leaq glob_data + 480(%rip), %rcx + vmovdqu (%rcx), %ymm0 + leaq glob_data + 448(%rip), %rcx + vmovdqu (%rcx), %ymm1 + leaq glob_data + 192(%rip), %rcx + vmovdqu (%rcx), %ymm2 + vmovdqu (%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, (%rax) + vmovdqu 32(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 32(%rax) + vmovdqu 64(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 64(%rax) + vmovdqu 96(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 96(%rax) + vmovdqu 128(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 128(%rax) + vmovdqu 160(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 160(%rax) + vmovdqu 192(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 192(%rax) + vmovdqu 224(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 224(%rax) + vmovdqu 256(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 256(%rax) + vmovdqu 288(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 288(%rax) + vmovdqu 320(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 320(%rax) + vmovdqu 352(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 352(%rax) + vmovdqu 384(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 384(%rax) + vmovdqu 416(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 416(%rax) + vmovdqu 448(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 448(%rax) + vmovdqu 480(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm2 + vpmullw %ymm1, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 480(%rax) + ret +L_poly_frombytes$1: + leaq glob_data + 320(%rip), %r9 + vmovdqu (%r9), %ymm0 + vmovdqu (%rsi), %ymm1 + vmovdqu 32(%rsi), %ymm2 + vmovdqu 64(%rsi), %ymm3 + vmovdqu 96(%rsi), %ymm4 + vmovdqu 128(%rsi), %ymm5 + vmovdqu 160(%rsi), %ymm6 + vperm2i128 $32, %ymm4, %ymm1, %ymm7 + vperm2i128 $49, %ymm4, %ymm1, %ymm4 + vperm2i128 $32, %ymm5, %ymm2, %ymm8 + vperm2i128 $49, %ymm5, %ymm2, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm5 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vpunpcklqdq %ymm1, %ymm7, %ymm6 + vpunpckhqdq %ymm1, %ymm7, %ymm1 + vpunpcklqdq %ymm5, %ymm4, %ymm2 + vpunpckhqdq %ymm5, %ymm4, %ymm5 + vpunpcklqdq %ymm3, %ymm8, %ymm7 + vpunpckhqdq %ymm3, %ymm8, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm7, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vmovsldup %ymm3, %ymm1 + vpblendd $-86, %ymm1, %ymm2, %ymm1 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm2 + vpslld $16, %ymm7, %ymm3 + vpblendw $-86, %ymm3, %ymm4, %ymm3 + vpsrld $16, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm4, %ymm4 + vpslld $16, %ymm1, %ymm7 + vpblendw $-86, %ymm7, %ymm5, %ymm7 + vpsrld $16, %ymm5, %ymm5 + vpblendw $-86, %ymm1, %ymm5, %ymm1 + vpslld $16, %ymm2, %ymm5 + vpblendw $-86, %ymm5, %ymm6, %ymm5 + vpsrld $16, %ymm6, %ymm6 + vpblendw $-86, %ymm2, %ymm6, %ymm2 + vpsrlw $12, %ymm3, %ymm6 + vpsllw $4, %ymm4, %ymm8 + vpor %ymm8, %ymm6, %ymm6 + vpand %ymm3, %ymm0, %ymm3 + vpand %ymm6, %ymm0, %ymm6 + vpsrlw $8, %ymm4, %ymm4 + vpsllw $8, %ymm7, %ymm8 + vpor %ymm8, %ymm4, %ymm4 + vpand %ymm4, %ymm0, %ymm4 + vpsrlw $4, %ymm7, %ymm7 + vpand %ymm7, %ymm0, %ymm7 + vpsrlw $12, %ymm1, %ymm8 + vpsllw $4, %ymm5, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpand %ymm1, %ymm0, %ymm1 + vpand %ymm8, %ymm0, %ymm8 + vpsrlw $8, %ymm5, %ymm5 + vpsllw $8, %ymm2, %ymm9 + vpor %ymm9, %ymm5, %ymm5 + vpand %ymm5, %ymm0, %ymm5 + vpsrlw $4, %ymm2, %ymm2 + vpand %ymm2, %ymm0, %ymm2 + vmovdqu %ymm3, (%r8) + vmovdqu %ymm6, 32(%r8) + vmovdqu %ymm4, 64(%r8) + vmovdqu %ymm7, 96(%r8) + vmovdqu %ymm1, 128(%r8) + vmovdqu %ymm8, 160(%r8) + vmovdqu %ymm5, 192(%r8) + vmovdqu %ymm2, 224(%r8) + vmovdqu 192(%rsi), %ymm1 + vmovdqu 224(%rsi), %ymm2 + vmovdqu 256(%rsi), %ymm3 + vmovdqu 288(%rsi), %ymm4 + vmovdqu 320(%rsi), %ymm5 + vmovdqu 352(%rsi), %ymm6 + vperm2i128 $32, %ymm4, %ymm1, %ymm7 + vperm2i128 $49, %ymm4, %ymm1, %ymm4 + vperm2i128 $32, %ymm5, %ymm2, %ymm8 + vperm2i128 $49, %ymm5, %ymm2, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm5 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vpunpcklqdq %ymm1, %ymm7, %ymm6 + vpunpckhqdq %ymm1, %ymm7, %ymm1 + vpunpcklqdq %ymm5, %ymm4, %ymm2 + vpunpckhqdq %ymm5, %ymm4, %ymm5 + vpunpcklqdq %ymm3, %ymm8, %ymm7 + vpunpckhqdq %ymm3, %ymm8, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm7, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vmovsldup %ymm3, %ymm1 + vpblendd $-86, %ymm1, %ymm2, %ymm1 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm2 + vpslld $16, %ymm7, %ymm3 + vpblendw $-86, %ymm3, %ymm4, %ymm3 + vpsrld $16, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm4, %ymm4 + vpslld $16, %ymm1, %ymm7 + vpblendw $-86, %ymm7, %ymm5, %ymm7 + vpsrld $16, %ymm5, %ymm5 + vpblendw $-86, %ymm1, %ymm5, %ymm1 + vpslld $16, %ymm2, %ymm5 + vpblendw $-86, %ymm5, %ymm6, %ymm5 + vpsrld $16, %ymm6, %ymm6 + vpblendw $-86, %ymm2, %ymm6, %ymm2 + vpsrlw $12, %ymm3, %ymm6 + vpsllw $4, %ymm4, %ymm8 + vpor %ymm8, %ymm6, %ymm6 + vpand %ymm3, %ymm0, %ymm3 + vpand %ymm6, %ymm0, %ymm6 + vpsrlw $8, %ymm4, %ymm4 + vpsllw $8, %ymm7, %ymm8 + vpor %ymm8, %ymm4, %ymm4 + vpand %ymm4, %ymm0, %ymm4 + vpsrlw $4, %ymm7, %ymm7 + vpand %ymm7, %ymm0, %ymm7 + vpsrlw $12, %ymm1, %ymm8 + vpsllw $4, %ymm5, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpand %ymm1, %ymm0, %ymm1 + vpand %ymm8, %ymm0, %ymm8 + vpsrlw $8, %ymm5, %ymm5 + vpsllw $8, %ymm2, %ymm9 + vpor %ymm9, %ymm5, %ymm5 + vpand %ymm5, %ymm0, %ymm5 + vpsrlw $4, %ymm2, %ymm2 + vpand %ymm2, %ymm0, %ymm0 + vmovdqu %ymm3, 256(%r8) + vmovdqu %ymm6, 288(%r8) + vmovdqu %ymm4, 320(%r8) + vmovdqu %ymm7, 352(%r8) + vmovdqu %ymm1, 384(%r8) + vmovdqu %ymm8, 416(%r8) + vmovdqu %ymm5, 448(%r8) + vmovdqu %ymm0, 480(%r8) + ret +L_poly_decompress$1: + leaq glob_data + 480(%rip), %rdi + vmovdqu (%rdi), %ymm0 + leaq glob_data + 128(%rip), %rdi + vmovdqu (%rdi), %ymm1 + vpbroadcastd glob_data + 6444(%rip), %ymm2 + vpbroadcastd glob_data + 6440(%rip), %ymm3 + vpxor %ymm4, %ymm4, %ymm4 + movq (%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, (%rcx) + movq 8(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 32(%rcx) + movq 16(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 64(%rcx) + movq 24(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 96(%rcx) + movq 32(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 128(%rcx) + movq 40(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 160(%rcx) + movq 48(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 192(%rcx) + movq 56(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 224(%rcx) + movq 64(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 256(%rcx) + movq 72(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 288(%rcx) + movq 80(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 320(%rcx) + movq 88(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 352(%rcx) + movq 96(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 384(%rcx) + movq 104(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 416(%rcx) + movq 112(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 448(%rcx) + movq 120(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm1 + vpand %ymm2, %ymm1, %ymm1 + vpmullw %ymm3, %ymm1, %ymm1 + vpmulhrsw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_compress_1$1: + call L_poly_csubq$1 +L_poly_compress_1$2: + leaq glob_data + 416(%rip), %rdx + vmovdqu (%rdx), %ymm0 + vpbroadcastw glob_data + 6460(%rip), %ymm1 + vpbroadcastw glob_data + 6458(%rip), %ymm2 + vpbroadcastw glob_data + 6456(%rip), %ymm3 + vmovdqu glob_data + 160(%rip), %ymm4 + vmovdqu (%rcx), %ymm5 + vmovdqu 32(%rcx), %ymm6 + vmovdqu 64(%rcx), %ymm7 + vmovdqu 96(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, (%rax) + vmovdqu 128(%rcx), %ymm5 + vmovdqu 160(%rcx), %ymm6 + vmovdqu 192(%rcx), %ymm7 + vmovdqu 224(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 32(%rax) + vmovdqu 256(%rcx), %ymm5 + vmovdqu 288(%rcx), %ymm6 + vmovdqu 320(%rcx), %ymm7 + vmovdqu 352(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 64(%rax) + vmovdqu 384(%rcx), %ymm5 + vmovdqu 416(%rcx), %ymm6 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm0 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm0, %ymm0 + vpand %ymm2, %ymm5, %ymm1 + vpand %ymm2, %ymm6, %ymm5 + vpand %ymm2, %ymm7, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpackuswb %ymm5, %ymm1, %ymm1 + vpackuswb %ymm0, %ymm6, %ymm0 + vpmaddubsw %ymm3, %ymm1, %ymm1 + vpmaddubsw %ymm3, %ymm0, %ymm0 + vpackuswb %ymm0, %ymm1, %ymm0 + vpermd %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 96(%rax) + ret +L_poly_compress$1: + call L_poly_csubq$1 +L_poly_compress$2: + leaq glob_data + 416(%rip), %rdx + vmovdqu (%rdx), %ymm0 + vpbroadcastw glob_data + 6460(%rip), %ymm1 + vpbroadcastw glob_data + 6458(%rip), %ymm2 + vpbroadcastw glob_data + 6456(%rip), %ymm3 + vmovdqu glob_data + 160(%rip), %ymm4 + vmovdqu (%rcx), %ymm5 + vmovdqu 32(%rcx), %ymm6 + vmovdqu 64(%rcx), %ymm7 + vmovdqu 96(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, (%rax) + vmovdqu 128(%rcx), %ymm5 + vmovdqu 160(%rcx), %ymm6 + vmovdqu 192(%rcx), %ymm7 + vmovdqu 224(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 32(%rax) + vmovdqu 256(%rcx), %ymm5 + vmovdqu 288(%rcx), %ymm6 + vmovdqu 320(%rcx), %ymm7 + vmovdqu 352(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 64(%rax) + vmovdqu 384(%rcx), %ymm5 + vmovdqu 416(%rcx), %ymm6 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm0 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm0, %ymm0 + vpand %ymm2, %ymm5, %ymm1 + vpand %ymm2, %ymm6, %ymm5 + vpand %ymm2, %ymm7, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpackuswb %ymm5, %ymm1, %ymm1 + vpackuswb %ymm0, %ymm6, %ymm0 + vpmaddubsw %ymm3, %ymm1, %ymm1 + vpmaddubsw %ymm3, %ymm0, %ymm0 + vpackuswb %ymm0, %ymm1, %ymm0 + vpermd %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 96(%rax) + ret +L_poly_basemul$1: + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu glob_data + 448(%rip), %ymm1 + vmovdqu glob_data + 1584(%rip), %ymm2 + vmovdqu glob_data + 1616(%rip), %ymm3 + vmovdqu (%rsi), %ymm4 + vmovdqu 32(%rsi), %ymm5 + vmovdqu (%rdi), %ymm6 + vmovdqu 32(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu 64(%rsi), %ymm4 + vmovdqu 96(%rsi), %ymm5 + vmovdqu 64(%rdi), %ymm6 + vmovdqu 96(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 64(%rcx) + vmovdqu %ymm2, 96(%rcx) + vmovdqu glob_data + 1648(%rip), %ymm2 + vmovdqu glob_data + 1680(%rip), %ymm3 + vmovdqu 128(%rsi), %ymm4 + vmovdqu 160(%rsi), %ymm5 + vmovdqu 128(%rdi), %ymm6 + vmovdqu 160(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 128(%rcx) + vmovdqu %ymm4, 160(%rcx) + vmovdqu 192(%rsi), %ymm4 + vmovdqu 224(%rsi), %ymm5 + vmovdqu 192(%rdi), %ymm6 + vmovdqu 224(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 192(%rcx) + vmovdqu %ymm2, 224(%rcx) + vmovdqu glob_data + 1976(%rip), %ymm2 + vmovdqu glob_data + 2008(%rip), %ymm3 + vmovdqu 256(%rsi), %ymm4 + vmovdqu 288(%rsi), %ymm5 + vmovdqu 256(%rdi), %ymm6 + vmovdqu 288(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 256(%rcx) + vmovdqu %ymm4, 288(%rcx) + vmovdqu 320(%rsi), %ymm4 + vmovdqu 352(%rsi), %ymm5 + vmovdqu 320(%rdi), %ymm6 + vmovdqu 352(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 320(%rcx) + vmovdqu %ymm2, 352(%rcx) + vmovdqu glob_data + 2040(%rip), %ymm2 + vmovdqu glob_data + 2072(%rip), %ymm3 + vmovdqu 384(%rsi), %ymm4 + vmovdqu 416(%rsi), %ymm5 + vmovdqu 384(%rdi), %ymm6 + vmovdqu 416(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 384(%rcx) + vmovdqu %ymm4, 416(%rcx) + vmovdqu 448(%rsi), %ymm4 + vmovdqu 480(%rsi), %ymm5 + vmovdqu 448(%rdi), %ymm6 + vmovdqu 480(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm1 + vpmulhw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm3, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_csubq$1: + vmovdqu glob_data + 480(%rip), %ymm0 + vmovdqu (%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, (%rcx) + vmovdqu 32(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 32(%rcx) + vmovdqu 64(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 64(%rcx) + vmovdqu 96(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 96(%rcx) + vmovdqu 128(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 128(%rcx) + vmovdqu 160(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 160(%rcx) + vmovdqu 192(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 192(%rcx) + vmovdqu 224(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 224(%rcx) + vmovdqu 256(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 256(%rcx) + vmovdqu 288(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 288(%rcx) + vmovdqu 320(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 320(%rcx) + vmovdqu 352(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 352(%rcx) + vmovdqu 384(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 384(%rcx) + vmovdqu 416(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 416(%rcx) + vmovdqu 448(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 448(%rcx) + vmovdqu 480(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm0 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_add2$1: + vmovdqu (%rcx), %ymm0 + vmovdqu (%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, (%rcx) + vmovdqu 32(%rcx), %ymm0 + vmovdqu 32(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rcx) + vmovdqu 64(%rcx), %ymm0 + vmovdqu 64(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rcx) + vmovdqu 96(%rcx), %ymm0 + vmovdqu 96(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rcx) + vmovdqu 128(%rcx), %ymm0 + vmovdqu 128(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rcx) + vmovdqu 160(%rcx), %ymm0 + vmovdqu 160(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rcx) + vmovdqu 192(%rcx), %ymm0 + vmovdqu 192(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rcx) + vmovdqu 224(%rcx), %ymm0 + vmovdqu 224(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rcx) + vmovdqu 256(%rcx), %ymm0 + vmovdqu 256(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rcx) + vmovdqu 288(%rcx), %ymm0 + vmovdqu 288(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rcx) + vmovdqu 320(%rcx), %ymm0 + vmovdqu 320(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rcx) + vmovdqu 352(%rcx), %ymm0 + vmovdqu 352(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rcx) + vmovdqu 384(%rcx), %ymm0 + vmovdqu 384(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rcx) + vmovdqu 416(%rcx), %ymm0 + vmovdqu 416(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rcx) + vmovdqu 448(%rcx), %ymm0 + vmovdqu 448(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rcx) + vmovdqu 480(%rcx), %ymm0 + vmovdqu 480(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_nttunpack$1: + vmovdqu (%rax), %ymm1 + vmovdqu 32(%rax), %ymm3 + vmovdqu 64(%rax), %ymm4 + vmovdqu 96(%rax), %ymm5 + vmovdqu 128(%rax), %ymm2 + vmovdqu 160(%rax), %ymm6 + vmovdqu 192(%rax), %ymm7 + vmovdqu 224(%rax), %ymm8 + vperm2i128 $32, %ymm2, %ymm1, %ymm0 + vperm2i128 $49, %ymm2, %ymm1, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm2 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vperm2i128 $32, %ymm7, %ymm4, %ymm6 + vperm2i128 $49, %ymm7, %ymm4, %ymm7 + vperm2i128 $32, %ymm8, %ymm5, %ymm9 + vperm2i128 $49, %ymm8, %ymm5, %ymm10 + vpunpcklqdq %ymm6, %ymm0, %ymm4 + vpunpckhqdq %ymm6, %ymm0, %ymm5 + vpunpcklqdq %ymm7, %ymm1, %ymm6 + vpunpckhqdq %ymm7, %ymm1, %ymm7 + vpunpcklqdq %ymm9, %ymm2, %ymm0 + vpunpckhqdq %ymm9, %ymm2, %ymm2 + vpunpcklqdq %ymm10, %ymm3, %ymm8 + vpunpckhqdq %ymm10, %ymm3, %ymm3 + vmovsldup %ymm0, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm9 + vpsrlq $32, %ymm4, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vmovsldup %ymm2, %ymm1 + vpblendd $-86, %ymm1, %ymm5, %ymm1 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vmovsldup %ymm8, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm5 + vpblendd $-86, %ymm8, %ymm5, %ymm5 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vpsrlq $32, %ymm7, %ymm7 + vpblendd $-86, %ymm3, %ymm7, %ymm3 + vpslld $16, %ymm4, %ymm7 + vpblendw $-86, %ymm7, %ymm9, %ymm7 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm4, %ymm8, %ymm4 + vpslld $16, %ymm5, %ymm8 + vpblendw $-86, %ymm8, %ymm0, %ymm8 + vpsrld $16, %ymm0, %ymm0 + vpblendw $-86, %ymm5, %ymm0, %ymm0 + vpslld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm5, %ymm1, %ymm5 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm6, %ymm1, %ymm1 + vpslld $16, %ymm3, %ymm6 + vpblendw $-86, %ymm6, %ymm2, %ymm6 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm2 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm4, 32(%rax) + vmovdqu %ymm8, 64(%rax) + vmovdqu %ymm0, 96(%rax) + vmovdqu %ymm5, 128(%rax) + vmovdqu %ymm1, 160(%rax) + vmovdqu %ymm6, 192(%rax) + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm1 + vmovdqu 288(%rax), %ymm3 + vmovdqu 320(%rax), %ymm4 + vmovdqu 352(%rax), %ymm5 + vmovdqu 384(%rax), %ymm2 + vmovdqu 416(%rax), %ymm6 + vmovdqu 448(%rax), %ymm7 + vmovdqu 480(%rax), %ymm8 + vperm2i128 $32, %ymm2, %ymm1, %ymm0 + vperm2i128 $49, %ymm2, %ymm1, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm2 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vperm2i128 $32, %ymm7, %ymm4, %ymm6 + vperm2i128 $49, %ymm7, %ymm4, %ymm7 + vperm2i128 $32, %ymm8, %ymm5, %ymm9 + vperm2i128 $49, %ymm8, %ymm5, %ymm10 + vpunpcklqdq %ymm6, %ymm0, %ymm4 + vpunpckhqdq %ymm6, %ymm0, %ymm5 + vpunpcklqdq %ymm7, %ymm1, %ymm6 + vpunpckhqdq %ymm7, %ymm1, %ymm7 + vpunpcklqdq %ymm9, %ymm2, %ymm0 + vpunpckhqdq %ymm9, %ymm2, %ymm2 + vpunpcklqdq %ymm10, %ymm3, %ymm8 + vpunpckhqdq %ymm10, %ymm3, %ymm3 + vmovsldup %ymm0, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm9 + vpsrlq $32, %ymm4, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vmovsldup %ymm2, %ymm1 + vpblendd $-86, %ymm1, %ymm5, %ymm1 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vmovsldup %ymm8, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm5 + vpblendd $-86, %ymm8, %ymm5, %ymm5 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vpsrlq $32, %ymm7, %ymm7 + vpblendd $-86, %ymm3, %ymm7, %ymm3 + vpslld $16, %ymm4, %ymm7 + vpblendw $-86, %ymm7, %ymm9, %ymm7 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm4, %ymm8, %ymm4 + vpslld $16, %ymm5, %ymm8 + vpblendw $-86, %ymm8, %ymm0, %ymm8 + vpsrld $16, %ymm0, %ymm0 + vpblendw $-86, %ymm5, %ymm0, %ymm0 + vpslld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm5, %ymm1, %ymm5 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm6, %ymm1, %ymm1 + vpslld $16, %ymm3, %ymm6 + vpblendw $-86, %ymm6, %ymm2, %ymm6 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm2 + vmovdqu %ymm7, 256(%rax) + vmovdqu %ymm4, 288(%rax) + vmovdqu %ymm8, 320(%rax) + vmovdqu %ymm0, 352(%rax) + vmovdqu %ymm5, 384(%rax) + vmovdqu %ymm1, 416(%rax) + vmovdqu %ymm6, 448(%rax) + vmovdqu %ymm2, 480(%rax) + ret +L_shake256_absorb4x_33$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, (%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 544(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 576(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 608(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 672(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 704(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 736(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 768(%rax) + movq (%rdx), %r11 + xorq %r11, (%rax) + movq (%rsi), %r11 + xorq %r11, 8(%rax) + movq (%rdi), %r11 + xorq %r11, 16(%rax) + movq (%r10), %r11 + xorq %r11, 24(%rax) + movq 8(%rdx), %r11 + xorq %r11, 32(%rax) + movq 8(%rsi), %r11 + xorq %r11, 40(%rax) + movq 8(%rdi), %r11 + xorq %r11, 48(%rax) + movq 8(%r10), %r11 + xorq %r11, 56(%rax) + movq 16(%rdx), %r11 + xorq %r11, 64(%rax) + movq 16(%rsi), %r11 + xorq %r11, 72(%rax) + movq 16(%rdi), %r11 + xorq %r11, 80(%rax) + movq 16(%r10), %r11 + xorq %r11, 88(%rax) + movq 24(%rdx), %r11 + xorq %r11, 96(%rax) + movq 24(%rsi), %r11 + xorq %r11, 104(%rax) + movq 24(%rdi), %r11 + xorq %r11, 112(%rax) + movq 24(%r10), %r11 + xorq %r11, 120(%rax) + movb 32(%rdx), %dl + xorb %dl, 128(%rax) + xorb $31, 129(%rax) + movb 32(%rsi), %dl + xorb %dl, 136(%rax) + xorb $31, 137(%rax) + movb 32(%rdi), %dl + xorb %dl, 144(%rax) + xorb $31, 145(%rax) + movb 32(%r10), %dl + xorb %dl, 152(%rax) + xorb $31, 153(%rax) + vmovdqu glob_data + 2112(%rip), %ymm0 + vmovdqu 512(%rax), %ymm1 + vpxor %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + ret +L_shake128_absorb4x_34$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, (%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 544(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 576(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 608(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 672(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 704(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 736(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 768(%rax) + movq (%rcx), %r8 + xorq %r8, (%rax) + movq (%rdx), %r8 + xorq %r8, 8(%rax) + movq (%rsi), %r8 + xorq %r8, 16(%rax) + movq (%rdi), %r8 + xorq %r8, 24(%rax) + movq 8(%rcx), %r8 + xorq %r8, 32(%rax) + movq 8(%rdx), %r8 + xorq %r8, 40(%rax) + movq 8(%rsi), %r8 + xorq %r8, 48(%rax) + movq 8(%rdi), %r8 + xorq %r8, 56(%rax) + movq 16(%rcx), %r8 + xorq %r8, 64(%rax) + movq 16(%rdx), %r8 + xorq %r8, 72(%rax) + movq 16(%rsi), %r8 + xorq %r8, 80(%rax) + movq 16(%rdi), %r8 + xorq %r8, 88(%rax) + movq 24(%rcx), %r8 + xorq %r8, 96(%rax) + movq 24(%rdx), %r8 + xorq %r8, 104(%rax) + movq 24(%rsi), %r8 + xorq %r8, 112(%rax) + movq 24(%rdi), %r8 + xorq %r8, 120(%rax) + movw 32(%rcx), %cx + xorw %cx, 128(%rax) + xorb $31, 130(%rax) + movw 32(%rdx), %cx + xorw %cx, 136(%rax) + xorb $31, 138(%rax) + movw 32(%rsi), %cx + xorw %cx, 144(%rax) + xorb $31, 146(%rax) + movw 32(%rdi), %cx + xorw %cx, 152(%rax) + xorb $31, 154(%rax) + vmovdqu glob_data + 2112(%rip), %ymm0 + vmovdqu 640(%rax), %ymm1 + vpxor %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + ret +L_keccakf1600_4x_avx2$1: + leaq 32(%rsp), %rdx + leaq glob_data + 2208(%rip), %rsi + vmovdqu glob_data + 2144(%rip), %ymm0 + vmovdqu glob_data + 2176(%rip), %ymm1 + movq $0, %rdi +L_keccakf1600_4x_avx2$2: + vmovdqu (%rsi,%rdi), %ymm2 + vmovdqu (%rax), %ymm3 + vmovdqu 32(%rax), %ymm4 + vmovdqu 64(%rax), %ymm5 + vmovdqu 96(%rax), %ymm6 + vmovdqu 128(%rax), %ymm7 + vpxor 160(%rax), %ymm3, %ymm3 + vpxor 192(%rax), %ymm4, %ymm4 + vpxor 224(%rax), %ymm5, %ymm5 + vpxor 256(%rax), %ymm6, %ymm6 + vpxor 288(%rax), %ymm7, %ymm7 + vpxor 320(%rax), %ymm3, %ymm3 + vpxor 352(%rax), %ymm4, %ymm4 + vpxor 384(%rax), %ymm5, %ymm5 + vpxor 416(%rax), %ymm6, %ymm6 + vpxor 448(%rax), %ymm7, %ymm7 + vpxor 480(%rax), %ymm3, %ymm3 + vpxor 512(%rax), %ymm4, %ymm4 + vpxor 544(%rax), %ymm5, %ymm8 + vpxor 576(%rax), %ymm6, %ymm9 + vpxor 608(%rax), %ymm7, %ymm10 + vpxor 640(%rax), %ymm3, %ymm7 + vpxor 672(%rax), %ymm4, %ymm5 + vpxor 704(%rax), %ymm8, %ymm6 + vpxor 736(%rax), %ymm9, %ymm8 + vpxor 768(%rax), %ymm10, %ymm9 + vmovdqu %ymm5, %ymm3 + vpsllq $1, %ymm3, %ymm4 + vpsrlq $63, %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm3 + vmovdqu %ymm6, %ymm4 + vpsllq $1, %ymm4, %ymm10 + vpsrlq $63, %ymm4, %ymm4 + vpor %ymm10, %ymm4, %ymm4 + vpxor %ymm7, %ymm4, %ymm4 + vmovdqu %ymm8, %ymm10 + vpsllq $1, %ymm10, %ymm11 + vpsrlq $63, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vpxor %ymm5, %ymm10, %ymm5 + vpsllq $1, %ymm9, %ymm10 + vpsrlq $63, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vpxor %ymm6, %ymm9, %ymm6 + vpsllq $1, %ymm7, %ymm9 + vpsrlq $63, %ymm7, %ymm7 + vpor %ymm9, %ymm7, %ymm7 + vpxor %ymm8, %ymm7, %ymm7 + vmovdqu (%rax), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vmovdqu 192(%rax), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $44, %ymm9, %ymm10 + vpsrlq $20, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 384(%rax), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $43, %ymm10, %ymm11 + vpsrlq $21, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 576(%rax), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpsllq $21, %ymm11, %ymm12 + vpsrlq $43, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vmovdqu 768(%rax), %ymm12 + vpxor %ymm7, %ymm12, %ymm12 + vpsllq $14, %ymm12, %ymm13 + vpsrlq $50, %ymm12, %ymm12 + vpor %ymm13, %ymm12, %ymm12 + vpandn %ymm10, %ymm9, %ymm13 + vpxor %ymm8, %ymm13, %ymm13 + vpxor %ymm2, %ymm13, %ymm2 + vmovdqu %ymm2, (%rdx) + vpandn %ymm11, %ymm10, %ymm2 + vpxor %ymm9, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rdx) + vpandn %ymm12, %ymm11, %ymm2 + vpxor %ymm10, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rdx) + vpandn %ymm8, %ymm12, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rdx) + vpandn %ymm9, %ymm8, %ymm2 + vpxor %ymm12, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rdx) + vmovdqu 96(%rax), %ymm2 + vpxor %ymm6, %ymm2, %ymm2 + vpsllq $28, %ymm2, %ymm8 + vpsrlq $36, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 288(%rax), %ymm8 + vpxor %ymm7, %ymm8, %ymm8 + vpsllq $20, %ymm8, %ymm9 + vpsrlq $44, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 320(%rax), %ymm9 + vpxor %ymm3, %ymm9, %ymm9 + vpsllq $3, %ymm9, %ymm10 + vpsrlq $61, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 512(%rax), %ymm10 + vpxor %ymm4, %ymm10, %ymm10 + vpsllq $45, %ymm10, %ymm11 + vpsrlq $19, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 704(%rax), %ymm11 + vpxor %ymm5, %ymm11, %ymm11 + vpsllq $61, %ymm11, %ymm12 + vpsrlq $3, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 160(%rdx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 192(%rdx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 224(%rdx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 256(%rdx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rdx) + vmovdqu 32(%rax), %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vpsllq $1, %ymm2, %ymm8 + vpsrlq $63, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 224(%rax), %ymm8 + vpxor %ymm5, %ymm8, %ymm8 + vpsllq $6, %ymm8, %ymm9 + vpsrlq $58, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 416(%rax), %ymm9 + vpxor %ymm6, %ymm9, %ymm9 + vpsllq $25, %ymm9, %ymm10 + vpsrlq $39, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 608(%rax), %ymm10 + vpxor %ymm7, %ymm10, %ymm10 + vpshufb %ymm0, %ymm10, %ymm10 + vmovdqu 640(%rax), %ymm11 + vpxor %ymm3, %ymm11, %ymm11 + vpsllq $18, %ymm11, %ymm12 + vpsrlq $46, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 320(%rdx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 352(%rdx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 384(%rdx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 416(%rdx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rdx) + vmovdqu 128(%rax), %ymm2 + vpxor %ymm7, %ymm2, %ymm2 + vpsllq $27, %ymm2, %ymm8 + vpsrlq $37, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 160(%rax), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vpsllq $36, %ymm8, %ymm9 + vpsrlq $28, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 352(%rax), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $10, %ymm9, %ymm10 + vpsrlq $54, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 544(%rax), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $15, %ymm10, %ymm11 + vpsrlq $49, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 736(%rax), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpshufb %ymm1, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 480(%rdx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 512(%rdx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 544(%rdx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 576(%rdx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 608(%rdx) + vmovdqu 64(%rax), %ymm2 + vpxor %ymm5, %ymm2, %ymm2 + vpsllq $62, %ymm2, %ymm5 + vpsrlq $2, %ymm2, %ymm2 + vpor %ymm5, %ymm2, %ymm2 + vmovdqu 256(%rax), %ymm5 + vpxor %ymm6, %ymm5, %ymm5 + vpsllq $55, %ymm5, %ymm6 + vpsrlq $9, %ymm5, %ymm5 + vpor %ymm6, %ymm5, %ymm5 + vmovdqu 448(%rax), %ymm6 + vpxor %ymm7, %ymm6, %ymm6 + vpsllq $39, %ymm6, %ymm7 + vpsrlq $25, %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vmovdqu 480(%rax), %ymm7 + vpxor %ymm3, %ymm7, %ymm3 + vpsllq $41, %ymm3, %ymm7 + vpsrlq $23, %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm3 + vmovdqu 672(%rax), %ymm7 + vpxor %ymm4, %ymm7, %ymm4 + vpsllq $2, %ymm4, %ymm7 + vpsrlq $62, %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpandn %ymm6, %ymm5, %ymm7 + vpxor %ymm2, %ymm7, %ymm7 + vmovdqu %ymm7, 640(%rdx) + vpandn %ymm3, %ymm6, %ymm7 + vpxor %ymm5, %ymm7, %ymm7 + vmovdqu %ymm7, 672(%rdx) + vpandn %ymm4, %ymm3, %ymm7 + vpxor %ymm6, %ymm7, %ymm6 + vmovdqu %ymm6, 704(%rdx) + vpandn %ymm2, %ymm4, %ymm6 + vpxor %ymm3, %ymm6, %ymm3 + vmovdqu %ymm3, 736(%rdx) + vpandn %ymm5, %ymm2, %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vmovdqu %ymm2, 768(%rdx) + vmovdqu 32(%rsi,%rdi), %ymm2 + vmovdqu (%rdx), %ymm3 + vmovdqu 32(%rdx), %ymm4 + vmovdqu 64(%rdx), %ymm5 + vmovdqu 96(%rdx), %ymm6 + vmovdqu 128(%rdx), %ymm7 + vpxor 160(%rdx), %ymm3, %ymm3 + vpxor 192(%rdx), %ymm4, %ymm4 + vpxor 224(%rdx), %ymm5, %ymm5 + vpxor 256(%rdx), %ymm6, %ymm6 + vpxor 288(%rdx), %ymm7, %ymm7 + vpxor 320(%rdx), %ymm3, %ymm3 + vpxor 352(%rdx), %ymm4, %ymm4 + vpxor 384(%rdx), %ymm5, %ymm5 + vpxor 416(%rdx), %ymm6, %ymm6 + vpxor 448(%rdx), %ymm7, %ymm7 + vpxor 480(%rdx), %ymm3, %ymm3 + vpxor 512(%rdx), %ymm4, %ymm4 + vpxor 544(%rdx), %ymm5, %ymm8 + vpxor 576(%rdx), %ymm6, %ymm9 + vpxor 608(%rdx), %ymm7, %ymm10 + vpxor 640(%rdx), %ymm3, %ymm7 + vpxor 672(%rdx), %ymm4, %ymm5 + vpxor 704(%rdx), %ymm8, %ymm6 + vpxor 736(%rdx), %ymm9, %ymm8 + vpxor 768(%rdx), %ymm10, %ymm9 + vmovdqu %ymm5, %ymm3 + vpsllq $1, %ymm3, %ymm4 + vpsrlq $63, %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm3 + vmovdqu %ymm6, %ymm4 + vpsllq $1, %ymm4, %ymm10 + vpsrlq $63, %ymm4, %ymm4 + vpor %ymm10, %ymm4, %ymm4 + vpxor %ymm7, %ymm4, %ymm4 + vmovdqu %ymm8, %ymm10 + vpsllq $1, %ymm10, %ymm11 + vpsrlq $63, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vpxor %ymm5, %ymm10, %ymm5 + vpsllq $1, %ymm9, %ymm10 + vpsrlq $63, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vpxor %ymm6, %ymm9, %ymm6 + vpsllq $1, %ymm7, %ymm9 + vpsrlq $63, %ymm7, %ymm7 + vpor %ymm9, %ymm7, %ymm7 + vpxor %ymm8, %ymm7, %ymm7 + vmovdqu (%rdx), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vmovdqu 192(%rdx), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $44, %ymm9, %ymm10 + vpsrlq $20, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 384(%rdx), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $43, %ymm10, %ymm11 + vpsrlq $21, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 576(%rdx), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpsllq $21, %ymm11, %ymm12 + vpsrlq $43, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vmovdqu 768(%rdx), %ymm12 + vpxor %ymm7, %ymm12, %ymm12 + vpsllq $14, %ymm12, %ymm13 + vpsrlq $50, %ymm12, %ymm12 + vpor %ymm13, %ymm12, %ymm12 + vpandn %ymm10, %ymm9, %ymm13 + vpxor %ymm8, %ymm13, %ymm13 + vpxor %ymm2, %ymm13, %ymm2 + vmovdqu %ymm2, (%rax) + vpandn %ymm11, %ymm10, %ymm2 + vpxor %ymm9, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vpandn %ymm12, %ymm11, %ymm2 + vpxor %ymm10, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vpandn %ymm8, %ymm12, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vpandn %ymm9, %ymm8, %ymm2 + vpxor %ymm12, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 96(%rdx), %ymm2 + vpxor %ymm6, %ymm2, %ymm2 + vpsllq $28, %ymm2, %ymm8 + vpsrlq $36, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 288(%rdx), %ymm8 + vpxor %ymm7, %ymm8, %ymm8 + vpsllq $20, %ymm8, %ymm9 + vpsrlq $44, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 320(%rdx), %ymm9 + vpxor %ymm3, %ymm9, %ymm9 + vpsllq $3, %ymm9, %ymm10 + vpsrlq $61, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 512(%rdx), %ymm10 + vpxor %ymm4, %ymm10, %ymm10 + vpsllq $45, %ymm10, %ymm11 + vpsrlq $19, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 704(%rdx), %ymm11 + vpxor %ymm5, %ymm11, %ymm11 + vpsllq $61, %ymm11, %ymm12 + vpsrlq $3, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 160(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 192(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 224(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 256(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 32(%rdx), %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vpsllq $1, %ymm2, %ymm8 + vpsrlq $63, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 224(%rdx), %ymm8 + vpxor %ymm5, %ymm8, %ymm8 + vpsllq $6, %ymm8, %ymm9 + vpsrlq $58, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 416(%rdx), %ymm9 + vpxor %ymm6, %ymm9, %ymm9 + vpsllq $25, %ymm9, %ymm10 + vpsrlq $39, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 608(%rdx), %ymm10 + vpxor %ymm7, %ymm10, %ymm10 + vpshufb %ymm0, %ymm10, %ymm10 + vmovdqu 640(%rdx), %ymm11 + vpxor %ymm3, %ymm11, %ymm11 + vpsllq $18, %ymm11, %ymm12 + vpsrlq $46, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 320(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 352(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 384(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 416(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 128(%rdx), %ymm2 + vpxor %ymm7, %ymm2, %ymm2 + vpsllq $27, %ymm2, %ymm8 + vpsrlq $37, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 160(%rdx), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vpsllq $36, %ymm8, %ymm9 + vpsrlq $28, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 352(%rdx), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $10, %ymm9, %ymm10 + vpsrlq $54, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 544(%rdx), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $15, %ymm10, %ymm11 + vpsrlq $49, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 736(%rdx), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpshufb %ymm1, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 480(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 512(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 544(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 576(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 608(%rax) + vmovdqu 64(%rdx), %ymm2 + vpxor %ymm5, %ymm2, %ymm2 + vpsllq $62, %ymm2, %ymm5 + vpsrlq $2, %ymm2, %ymm2 + vpor %ymm5, %ymm2, %ymm2 + vmovdqu 256(%rdx), %ymm5 + vpxor %ymm6, %ymm5, %ymm5 + vpsllq $55, %ymm5, %ymm6 + vpsrlq $9, %ymm5, %ymm5 + vpor %ymm6, %ymm5, %ymm5 + vmovdqu 448(%rdx), %ymm6 + vpxor %ymm7, %ymm6, %ymm6 + vpsllq $39, %ymm6, %ymm7 + vpsrlq $25, %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vmovdqu 480(%rdx), %ymm7 + vpxor %ymm3, %ymm7, %ymm3 + vpsllq $41, %ymm3, %ymm7 + vpsrlq $23, %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm3 + vmovdqu 672(%rdx), %ymm7 + vpxor %ymm4, %ymm7, %ymm4 + vpsllq $2, %ymm4, %ymm7 + vpsrlq $62, %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpandn %ymm6, %ymm5, %ymm7 + vpxor %ymm2, %ymm7, %ymm7 + vmovdqu %ymm7, 640(%rax) + vpandn %ymm3, %ymm6, %ymm7 + vpxor %ymm5, %ymm7, %ymm7 + vmovdqu %ymm7, 672(%rax) + vpandn %ymm4, %ymm3, %ymm7 + vpxor %ymm6, %ymm7, %ymm6 + vmovdqu %ymm6, 704(%rax) + vpandn %ymm2, %ymm4, %ymm6 + vpxor %ymm3, %ymm6, %ymm3 + vmovdqu %ymm3, 736(%rax) + vpandn %ymm5, %ymm2, %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vmovdqu %ymm2, 768(%rax) + addq $64, %rdi + cmpq $768, %rdi + jb L_keccakf1600_4x_avx2$2 + ret +L_sha3_512_32$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6240(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6248(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rcx + movq glob_data + 6256(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6264(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6296(%rip), %rcx + shlq $3, %rcx + movq $71, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3360(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3168(%rip), %rsi + leaq glob_data + 2976(%rip), %rdi + movq $24, %r8 +L_sha3_512_32$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_512_32$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6264(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6272(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6280(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6288(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + ret +L_sha3_512_64$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6240(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6248(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rdx + movq glob_data + 6256(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 32(%rcx), %rdx + movq glob_data + 6264(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 40(%rcx), %rdx + movq glob_data + 6272(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 48(%rcx), %rdx + movq glob_data + 6280(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 56(%rcx), %rcx + movq glob_data + 6288(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6296(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6296(%rip), %rcx + shlq $3, %rcx + movq $71, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3360(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3168(%rip), %rsi + leaq glob_data + 2976(%rip), %rdi + movq $24, %r8 +L_sha3_512_64$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_512_64$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6264(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6272(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6280(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6288(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + ret +L_shake256_128_33$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6240(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6248(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rdx + movq glob_data + 6256(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movb 32(%rcx), %cl + movq glob_data + 6264(%rip), %rdx + shlq $3, %rdx + movb %cl, 32(%rsp,%rdx) + incq %rdx + movb $31, 32(%rsp,%rdx) + movq glob_data + 6360(%rip), %rcx + shlq $3, %rcx + movq $135, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3360(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3168(%rip), %rsi + leaq glob_data + 2976(%rip), %rdi + movq $24, %r8 +L_shake256_128_33$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_shake256_128_33$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6264(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6272(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6280(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6288(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6296(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6304(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6312(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6320(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6328(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6336(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6344(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6352(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + ret +L_shake256_64$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rax), %ymm4 + movq glob_data + 6240(%rip), %rsi + movq 8(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6248(%rip), %rsi + movq 16(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6256(%rip), %rsi + movq 24(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6264(%rip), %rsi + movq 32(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6272(%rip), %rsi + movq 40(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6280(%rip), %rsi + movq 48(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6288(%rip), %rsi + movq 56(%rax), %rax + movq %rax, 32(%rsp,%rsi,8) + movq glob_data + 6296(%rip), %rax + shlq $3, %rax + movb $31, 32(%rsp,%rax) + movq glob_data + 6360(%rip), %rax + shlq $3, %rax + movq $135, %rsi + andq $7, %rsi + addq %rsi, %rax + xorb $-128, 32(%rsp,%rax) + vmovdqu 64(%rsp), %ymm5 + vmovdqu 96(%rsp), %ymm0 + vmovdqu 128(%rsp), %ymm1 + vmovdqu 160(%rsp), %ymm6 + vmovdqu 192(%rsp), %ymm2 + vmovdqu 224(%rsp), %ymm3 + movq $136, %rsi + leaq glob_data + 6232(%rip), %rax + jmp L_shake256_64$7 +L_shake256_64$8: + leaq glob_data + 3360(%rip), %rdi + movq $0, %r8 + leaq glob_data + 3168(%rip), %r9 + leaq glob_data + 2976(%rip), %r10 + movq $24, %r11 +L_shake256_64$11: + vpshufd $78, %ymm0, %ymm8 + vpxor %ymm1, %ymm2, %ymm7 + vpxor %ymm3, %ymm6, %ymm9 + vpxor %ymm5, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm0, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm4, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm0, %ymm0 + vpxor %ymm11, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r9), %ymm0, %ymm7 + vpsrlvq (%r10), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 64(%r9), %ymm1, %ymm7 + vpsrlvq 64(%r10), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%r9), %ymm6, %ymm7 + vpsrlvq 96(%r10), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 128(%r9), %ymm2, %ymm6 + vpsrlvq 128(%r10), %ymm2, %ymm2 + vpor %ymm6, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpermq $-115, %ymm0, %ymm6 + vpermq $-115, %ymm1, %ymm7 + vpsllvq 160(%r9), %ymm3, %ymm0 + vpsrlvq 160(%r10), %ymm3, %ymm1 + vpor %ymm0, %ymm1, %ymm8 + vpxor %ymm9, %ymm5, %ymm0 + vpermq $27, %ymm10, %ymm5 + vpermq $114, %ymm2, %ymm9 + vpsllvq 32(%r9), %ymm0, %ymm1 + vpsrlvq 32(%r10), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm1 + vpblendd $12, %ymm9, %ymm10, %ymm0 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm0, %ymm0 + vpblendd $48, %ymm5, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm5, %ymm0, %ymm0 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm0, %ymm0 + vpandn %ymm11, %ymm3, %ymm3 + vpblendd $12, %ymm10, %ymm5, %ymm11 + vpblendd $12, %ymm5, %ymm6, %ymm12 + vpxor %ymm6, %ymm0, %ymm2 + vpblendd $48, %ymm6, %ymm11, %ymm0 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm5, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm0, %ymm0 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm0, %ymm0 + vpxor %ymm9, %ymm0, %ymm12 + vpermq $30, %ymm8, %ymm0 + vpblendd $48, %ymm4, %ymm0, %ymm0 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm4, %ymm11, %ymm11 + vpandn %ymm0, %ymm11, %ymm11 + vpblendd $12, %ymm5, %ymm7, %ymm0 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm0, %ymm0 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm0, %ymm0 + vpblendd $-64, %ymm5, %ymm13, %ymm13 + vpandn %ymm13, %ymm0, %ymm0 + vpxor %ymm10, %ymm0, %ymm0 + vpermq $0, %ymm1, %ymm13 + vpermq $27, %ymm2, %ymm1 + vpermq $-115, %ymm3, %ymm2 + vpermq $114, %ymm12, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm5, %ymm9 + vpblendd $48, %ymm5, %ymm12, %ymm5 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm5, %ymm5 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm5, %ymm6 + vpxor %ymm13, %ymm4, %ymm4 + vpxor %ymm8, %ymm11, %ymm5 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rdi,%r8), %ymm4, %ymm4 + addq $32, %r8 + decq %r11 + jne L_shake256_64$11 + vmovdqu %ymm4, 32(%rsp) + vmovdqu %ymm5, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm1, 128(%rsp) + vmovdqu %ymm6, 160(%rsp) + vmovdqu %ymm2, 192(%rsp) + vmovdqu %ymm3, 224(%rsp) + movq %rsi, %rdi + shrq $3, %rdi + movq $0, %r8 + jmp L_shake256_64$9 +L_shake256_64$10: + movq (%rax,%r8,8), %r9 + movq 32(%rsp,%r9,8), %r9 + movq %r9, (%rdx,%r8,8) + incq %r8 +L_shake256_64$9: + cmpq %rdi, %r8 + jb L_shake256_64$10 + addq %rsi, %rdx + subq %rsi, %rcx +L_shake256_64$7: + cmpq %rsi, %rcx + jnbe L_shake256_64$8 + leaq glob_data + 3360(%rip), %rsi + movq $0, %rdi + leaq glob_data + 3168(%rip), %r8 + leaq glob_data + 2976(%rip), %r9 + movq $24, %r10 +L_shake256_64$6: + vpshufd $78, %ymm0, %ymm8 + vpxor %ymm1, %ymm2, %ymm7 + vpxor %ymm3, %ymm6, %ymm9 + vpxor %ymm5, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm0, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm4, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm0, %ymm0 + vpxor %ymm11, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r8), %ymm0, %ymm7 + vpsrlvq (%r9), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 64(%r8), %ymm1, %ymm7 + vpsrlvq 64(%r9), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%r8), %ymm6, %ymm7 + vpsrlvq 96(%r9), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 128(%r8), %ymm2, %ymm6 + vpsrlvq 128(%r9), %ymm2, %ymm2 + vpor %ymm6, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpermq $-115, %ymm0, %ymm6 + vpermq $-115, %ymm1, %ymm7 + vpsllvq 160(%r8), %ymm3, %ymm0 + vpsrlvq 160(%r9), %ymm3, %ymm1 + vpor %ymm0, %ymm1, %ymm8 + vpxor %ymm9, %ymm5, %ymm0 + vpermq $27, %ymm10, %ymm5 + vpermq $114, %ymm2, %ymm9 + vpsllvq 32(%r8), %ymm0, %ymm1 + vpsrlvq 32(%r9), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm1 + vpblendd $12, %ymm9, %ymm10, %ymm0 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm0, %ymm0 + vpblendd $48, %ymm5, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm5, %ymm0, %ymm0 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm0, %ymm0 + vpandn %ymm11, %ymm3, %ymm3 + vpblendd $12, %ymm10, %ymm5, %ymm11 + vpblendd $12, %ymm5, %ymm6, %ymm12 + vpxor %ymm6, %ymm0, %ymm2 + vpblendd $48, %ymm6, %ymm11, %ymm0 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm5, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm0, %ymm0 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm0, %ymm0 + vpxor %ymm9, %ymm0, %ymm12 + vpermq $30, %ymm8, %ymm0 + vpblendd $48, %ymm4, %ymm0, %ymm0 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm4, %ymm11, %ymm11 + vpandn %ymm0, %ymm11, %ymm11 + vpblendd $12, %ymm5, %ymm7, %ymm0 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm0, %ymm0 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm0, %ymm0 + vpblendd $-64, %ymm5, %ymm13, %ymm13 + vpandn %ymm13, %ymm0, %ymm0 + vpxor %ymm10, %ymm0, %ymm0 + vpermq $0, %ymm1, %ymm13 + vpermq $27, %ymm2, %ymm1 + vpermq $-115, %ymm3, %ymm2 + vpermq $114, %ymm12, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm5, %ymm9 + vpblendd $48, %ymm5, %ymm12, %ymm5 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm5, %ymm5 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm5, %ymm6 + vpxor %ymm13, %ymm4, %ymm4 + vpxor %ymm8, %ymm11, %ymm5 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rsi,%rdi), %ymm4, %ymm4 + addq $32, %rdi + decq %r10 + jne L_shake256_64$6 + vmovdqu %ymm4, 32(%rsp) + vmovdqu %ymm5, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm1, 128(%rsp) + vmovdqu %ymm6, 160(%rsp) + vmovdqu %ymm2, 192(%rsp) + vmovdqu %ymm3, 224(%rsp) + movq %rcx, %rsi + shrq $3, %rsi + movq $0, %rdi + jmp L_shake256_64$4 +L_shake256_64$5: + movq (%rax,%rdi,8), %r8 + movq 32(%rsp,%r8,8), %r8 + movq %r8, (%rdx,%rdi,8) + incq %rdi +L_shake256_64$4: + cmpq %rsi, %rdi + jb L_shake256_64$5 + movq (%rax,%rdi,8), %rax + shlq $3, %rdi + shlq $3, %rax + jmp L_shake256_64$2 +L_shake256_64$3: + movb 32(%rsp,%rax), %sil + movb %sil, (%rdx,%rdi) + incq %rdi + incq %rax +L_shake256_64$2: + cmpq %rcx, %rdi + jb L_shake256_64$3 + ret +L_sha3_256_32$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6240(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6248(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rcx + movq glob_data + 6256(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6264(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6360(%rip), %rcx + shlq $3, %rcx + movq $135, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3360(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3168(%rip), %rsi + leaq glob_data + 2976(%rip), %rdi + movq $24, %r8 +L_sha3_256_32$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_256_32$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + ret +L_sha3_256$1: + vpxor %ymm6, %ymm6, %ymm6 + vpxor %ymm3, %ymm3, %ymm3 + vpxor %ymm4, %ymm4, %ymm4 + vpxor %ymm0, %ymm0, %ymm0 + vpxor %ymm5, %ymm5, %ymm5 + vpxor %ymm1, %ymm1, %ymm1 + vpxor %ymm2, %ymm2, %ymm2 + movb $6, %cl + movq $136, %rdx + leaq glob_data + 6232(%rip), %rsi + vpxor %ymm7, %ymm7, %ymm7 + vmovdqu %ymm7, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm7, 96(%rsp) + vmovdqu %ymm7, 128(%rsp) + vmovdqu %ymm7, 160(%rsp) + vmovdqu %ymm7, 192(%rsp) + vmovdqu %ymm7, 224(%rsp) + jmp L_sha3_256$7 +L_sha3_256$8: + movq %rdx, %r9 + shrq $3, %r9 + movq $0, %r10 + jmp L_sha3_256$10 +L_sha3_256$11: + movq (%r8,%r10,8), %r11 + movq (%rsi,%r10,8), %rbx + movq %r11, 32(%rsp,%rbx,8) + incq %r10 +L_sha3_256$10: + cmpq %r9, %r10 + jb L_sha3_256$11 + movq 32(%rsp), %r9 + movq %r9, 40(%rsp) + movq %r9, 48(%rsp) + movq %r9, 56(%rsp) + vpxor 32(%rsp), %ymm6, %ymm6 + vpxor 64(%rsp), %ymm3, %ymm3 + vpxor 96(%rsp), %ymm4, %ymm4 + vpxor 128(%rsp), %ymm0, %ymm0 + vpxor 160(%rsp), %ymm5, %ymm5 + vpxor 192(%rsp), %ymm1, %ymm1 + vpxor 224(%rsp), %ymm2, %ymm2 + addq %rdx, %r8 + subq %rdx, %rdi + leaq glob_data + 3360(%rip), %r9 + movq $0, %r10 + leaq glob_data + 3168(%rip), %r11 + leaq glob_data + 2976(%rip), %rbx + movq $24, %rbp +L_sha3_256$9: + vpshufd $78, %ymm4, %ymm8 + vpxor %ymm0, %ymm1, %ymm7 + vpxor %ymm2, %ymm5, %ymm9 + vpxor %ymm3, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm4, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm4, %ymm4 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r11), %ymm4, %ymm7 + vpsrlvq (%rbx), %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpxor %ymm9, %ymm0, %ymm0 + vpsllvq 64(%r11), %ymm0, %ymm7 + vpsrlvq 64(%rbx), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm5, %ymm5 + vpsllvq 96(%r11), %ymm5, %ymm7 + vpsrlvq 96(%rbx), %ymm5, %ymm5 + vpor %ymm7, %ymm5, %ymm10 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 128(%r11), %ymm1, %ymm5 + vpsrlvq 128(%rbx), %ymm1, %ymm1 + vpor %ymm5, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpermq $-115, %ymm4, %ymm5 + vpermq $-115, %ymm0, %ymm7 + vpsllvq 160(%r11), %ymm2, %ymm0 + vpsrlvq 160(%rbx), %ymm2, %ymm2 + vpor %ymm0, %ymm2, %ymm8 + vpxor %ymm9, %ymm3, %ymm0 + vpermq $27, %ymm10, %ymm3 + vpermq $114, %ymm1, %ymm9 + vpsllvq 32(%r11), %ymm0, %ymm1 + vpsrlvq 32(%rbx), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm0 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm5, %ymm4 + vpblendd $12, %ymm5, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm2 + vpblendd $12, %ymm10, %ymm3, %ymm4 + vpblendd $12, %ymm3, %ymm5, %ymm11 + vpxor %ymm5, %ymm1, %ymm1 + vpblendd $48, %ymm5, %ymm4, %ymm4 + vpblendd $48, %ymm7, %ymm11, %ymm11 + vpxor %ymm3, %ymm2, %ymm2 + vpblendd $-64, %ymm7, %ymm4, %ymm4 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm4, %ymm4 + vpxor %ymm9, %ymm4, %ymm12 + vpermq $30, %ymm8, %ymm4 + vpblendd $48, %ymm6, %ymm4, %ymm4 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm4, %ymm11, %ymm11 + vpblendd $12, %ymm3, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm4, %ymm4 + vpblendd $48, %ymm5, %ymm13, %ymm13 + vpblendd $-64, %ymm5, %ymm4, %ymm4 + vpblendd $-64, %ymm3, %ymm13, %ymm13 + vpandn %ymm13, %ymm4, %ymm4 + vpxor %ymm10, %ymm4, %ymm4 + vpermq $0, %ymm0, %ymm13 + vpermq $27, %ymm1, %ymm0 + vpermq $-115, %ymm2, %ymm1 + vpermq $114, %ymm12, %ymm2 + vpblendd $12, %ymm5, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm3, %ymm9 + vpblendd $48, %ymm3, %ymm12, %ymm3 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm3, %ymm3 + vpblendd $-64, %ymm5, %ymm9, %ymm5 + vpandn %ymm5, %ymm3, %ymm5 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm3 + vpxor %ymm7, %ymm5, %ymm5 + vpxor (%r9,%r10), %ymm6, %ymm6 + addq $32, %r10 + decq %rbp + jne L_sha3_256$9 +L_sha3_256$7: + cmpq %rdx, %rdi + jnb L_sha3_256$8 + vpxor %ymm7, %ymm7, %ymm7 + vmovdqu %ymm7, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm7, 96(%rsp) + vmovdqu %ymm7, 128(%rsp) + vmovdqu %ymm7, 160(%rsp) + vmovdqu %ymm7, 192(%rsp) + vmovdqu %ymm7, 224(%rsp) + movq %rdi, %r9 + shrq $3, %r9 + movq $0, %r10 + jmp L_sha3_256$5 +L_sha3_256$6: + movq (%r8,%r10,8), %r11 + movq (%rsi,%r10,8), %rbx + movq %r11, 32(%rsp,%rbx,8) + incq %r10 +L_sha3_256$5: + cmpq %r9, %r10 + jb L_sha3_256$6 + movq (%rsi,%r10,8), %r9 + shlq $3, %r9 + shlq $3, %r10 + jmp L_sha3_256$3 +L_sha3_256$4: + movb (%r8,%r10), %r11b + movb %r11b, 32(%rsp,%r9) + incq %r10 + incq %r9 +L_sha3_256$3: + cmpq %rdi, %r10 + jb L_sha3_256$4 + movb %cl, 32(%rsp,%r9) + movq %rdx, %rcx + addq $-1, %rcx + shrq $3, %rcx + movq (%rsi,%rcx,8), %rcx + shlq $3, %rcx + addq $-1, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + movq 32(%rsp), %rcx + movq %rcx, 40(%rsp) + movq %rcx, 48(%rsp) + movq %rcx, 56(%rsp) + vpxor 32(%rsp), %ymm6, %ymm6 + vpxor 64(%rsp), %ymm3, %ymm7 + vpxor 96(%rsp), %ymm4, %ymm3 + vpxor 128(%rsp), %ymm0, %ymm0 + vpxor 160(%rsp), %ymm5, %ymm4 + vpxor 192(%rsp), %ymm1, %ymm1 + vpxor 224(%rsp), %ymm2, %ymm2 + leaq glob_data + 3360(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3168(%rip), %rsi + leaq glob_data + 2976(%rip), %rdi + movq $24, %r8 +L_sha3_256$2: + vpshufd $78, %ymm3, %ymm5 + vpxor %ymm0, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm9 + vpxor %ymm7, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm10 + vpermq $-109, %ymm10, %ymm8 + vpxor %ymm3, %ymm5, %ymm5 + vpermq $78, %ymm5, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm8, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm5, %ymm5 + vpxor %ymm9, %ymm5, %ymm9 + vpsrlq $63, %ymm9, %ymm5 + vpaddq %ymm9, %ymm9, %ymm12 + vpor %ymm5, %ymm12, %ymm12 + vpxor %ymm11, %ymm3, %ymm3 + vpxor %ymm11, %ymm6, %ymm5 + vpblendd $-64, %ymm12, %ymm10, %ymm6 + vpblendd $3, %ymm9, %ymm8, %ymm8 + vpxor %ymm8, %ymm6, %ymm9 + vpsllvq (%rsi), %ymm3, %ymm6 + vpsrlvq (%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm0, %ymm0 + vpsllvq 64(%rsi), %ymm0, %ymm6 + vpsrlvq 64(%rdi), %ymm0, %ymm0 + vpor %ymm6, %ymm0, %ymm0 + vpxor %ymm9, %ymm4, %ymm4 + vpsllvq 96(%rsi), %ymm4, %ymm6 + vpsrlvq 96(%rdi), %ymm4, %ymm4 + vpor %ymm6, %ymm4, %ymm10 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 128(%rsi), %ymm1, %ymm4 + vpsrlvq 128(%rdi), %ymm1, %ymm1 + vpor %ymm4, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpermq $-115, %ymm3, %ymm4 + vpermq $-115, %ymm0, %ymm6 + vpsllvq 160(%rsi), %ymm2, %ymm0 + vpsrlvq 160(%rdi), %ymm2, %ymm2 + vpor %ymm0, %ymm2, %ymm8 + vpxor %ymm9, %ymm7, %ymm0 + vpermq $27, %ymm10, %ymm7 + vpermq $114, %ymm1, %ymm9 + vpsllvq 32(%rsi), %ymm0, %ymm1 + vpsrlvq 32(%rdi), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm0 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm6, %ymm2 + vpblendd $12, %ymm6, %ymm4, %ymm3 + vpblendd $12, %ymm4, %ymm10, %ymm11 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpblendd $48, %ymm7, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm2, %ymm1, %ymm1 + vpandn %ymm11, %ymm3, %ymm2 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm4, %ymm11 + vpxor %ymm4, %ymm1, %ymm1 + vpblendd $48, %ymm4, %ymm3, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm11 + vpxor %ymm7, %ymm2, %ymm2 + vpblendd $-64, %ymm6, %ymm3, %ymm3 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm12 + vpermq $30, %ymm8, %ymm3 + vpblendd $48, %ymm5, %ymm3, %ymm3 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm3, %ymm11, %ymm11 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm3, %ymm3 + vpblendd $48, %ymm4, %ymm13, %ymm13 + vpblendd $-64, %ymm4, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm13, %ymm13 + vpandn %ymm13, %ymm3, %ymm3 + vpxor %ymm10, %ymm3, %ymm3 + vpermq $0, %ymm0, %ymm13 + vpermq $27, %ymm1, %ymm0 + vpermq $-115, %ymm2, %ymm1 + vpermq $114, %ymm12, %ymm2 + vpblendd $12, %ymm4, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm7, %ymm9 + vpblendd $48, %ymm7, %ymm12, %ymm7 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm7, %ymm7 + vpblendd $-64, %ymm4, %ymm9, %ymm4 + vpandn %ymm4, %ymm7, %ymm4 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm7 + vpxor %ymm6, %ymm4, %ymm4 + vpxor (%rcx,%rdx), %ymm5, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_256$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm3, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm4, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + leaq glob_data + 6232(%rip), %rcx + movq (%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + ret + .data + .p2align 5 +_glob_data: +glob_data: + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 4 + .byte 5 + .byte 6 + .byte 7 + .byte 7 + .byte 8 + .byte 9 + .byte 10 + .byte 10 + .byte 11 + .byte 4 + .byte 5 + .byte 5 + .byte 6 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 14 + .byte 15 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 8 + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 6 + .byte 7 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 5 + .byte 5 + .byte 6 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 9 + .byte 10 + .byte 10 + .byte 11 + .byte 0 + .byte 1 + .byte 2 + .byte -1 + .byte 3 + .byte 4 + .byte 5 + .byte -1 + .byte 6 + .byte 7 + .byte 8 + .byte -1 + .byte 9 + .byte 10 + .byte 11 + .byte -1 + .byte 4 + .byte 5 + .byte 6 + .byte -1 + .byte 7 + .byte 8 + .byte 9 + .byte -1 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte 13 + .byte 14 + .byte 15 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte 5 + .byte 5 + .byte 5 + .byte 5 + .byte 6 + .byte 6 + .byte 6 + .byte 6 + .byte 7 + .byte 7 + .byte 7 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 5 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte -91 + .byte -91 + .byte -76 + .byte -31 + .byte 34 + .byte 79 + .byte 52 + .byte 93 + .byte 35 + .byte 68 + .byte 86 + .byte -91 + .byte -25 + .byte 78 + .byte -6 + .byte 83 + .byte 123 + .byte -57 + .byte 37 + .byte 43 + .byte 55 + .byte 58 + .byte -120 + .byte 24 + .byte -127 + .byte 126 + .byte 5 + .byte -60 + .byte -97 + .byte -9 + .byte -72 + .byte -80 + .byte -91 + .byte 6 + .byte -76 + .byte 5 + .byte 34 + .byte 9 + .byte 52 + .byte 1 + .byte 35 + .byte 11 + .byte 86 + .byte 3 + .byte -25 + .byte 9 + .byte -6 + .byte 5 + .byte 123 + .byte 6 + .byte 37 + .byte 12 + .byte 55 + .byte 5 + .byte -120 + .byte 0 + .byte -127 + .byte 11 + .byte 5 + .byte 5 + .byte -97 + .byte 10 + .byte -72 + .byte 8 + .byte 15 + .byte 68 + .byte 67 + .byte -94 + .byte 29 + .byte -112 + .byte 108 + .byte -124 + .byte 102 + .byte -43 + .byte -26 + .byte 87 + .byte -2 + .byte 30 + .byte -95 + .byte -41 + .byte -93 + .byte -67 + .byte 106 + .byte -95 + .byte 63 + .byte -43 + .byte -65 + .byte 81 + .byte -71 + .byte -96 + .byte -41 + .byte 28 + .byte -90 + .byte -100 + .byte -48 + .byte 121 + .byte 15 + .byte 7 + .byte 67 + .byte 9 + .byte 29 + .byte 9 + .byte 108 + .byte 0 + .byte 102 + .byte 3 + .byte -26 + .byte 5 + .byte -2 + .byte 4 + .byte -95 + .byte 4 + .byte -93 + .byte 4 + .byte 106 + .byte 3 + .byte 63 + .byte 8 + .byte -65 + .byte 4 + .byte -71 + .byte 5 + .byte -41 + .byte 7 + .byte -90 + .byte 10 + .byte -48 + .byte 9 + .byte -5 + .byte 69 + .byte 92 + .byte 94 + .byte 41 + .byte -17 + .byte 65 + .byte -66 + .byte -43 + .byte 49 + .byte -28 + .byte 113 + .byte 64 + .byte -55 + .byte -114 + .byte -53 + .byte -73 + .byte -72 + .byte -9 + .byte 117 + .byte -115 + .byte -36 + .byte -106 + .byte 110 + .byte -61 + .byte 34 + .byte 15 + .byte 62 + .byte 90 + .byte 110 + .byte 85 + .byte -78 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 35 + .byte 63 + .byte 35 + .byte 63 + .byte -51 + .byte -105 + .byte -51 + .byte -105 + .byte 102 + .byte -35 + .byte 102 + .byte -35 + .byte 6 + .byte -72 + .byte 6 + .byte -72 + .byte -95 + .byte -35 + .byte -95 + .byte -35 + .byte 37 + .byte 41 + .byte 37 + .byte 41 + .byte 8 + .byte -95 + .byte 8 + .byte -95 + .byte -87 + .byte 109 + .byte -87 + .byte 109 + .byte 35 + .byte 6 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -87 + .byte 2 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -19 + .byte -4 + .byte -19 + .byte -4 + .byte -19 + .byte 5 + .byte -19 + .byte 5 + .byte 75 + .byte 49 + .byte -72 + .byte -77 + .byte -92 + .byte -73 + .byte 125 + .byte -79 + .byte -94 + .byte -50 + .byte 54 + .byte 73 + .byte -109 + .byte -119 + .byte -9 + .byte 126 + .byte -116 + .byte -22 + .byte -52 + .byte -91 + .byte -21 + .byte 17 + .byte -74 + .byte -52 + .byte -104 + .byte 84 + .byte -102 + .byte 55 + .byte -74 + .byte -53 + .byte 83 + .byte -44 + .byte 75 + .byte 0 + .byte -72 + .byte 11 + .byte -92 + .byte 11 + .byte 125 + .byte 10 + .byte -94 + .byte 8 + .byte 54 + .byte 7 + .byte -109 + .byte 0 + .byte -9 + .byte 9 + .byte -116 + .byte 6 + .byte -52 + .byte 1 + .byte -21 + .byte 0 + .byte -74 + .byte 10 + .byte -104 + .byte 12 + .byte -102 + .byte 9 + .byte -74 + .byte 9 + .byte 83 + .byte 11 + .byte -100 + .byte 20 + .byte 95 + .byte 56 + .byte 104 + .byte -69 + .byte 54 + .byte 72 + .byte 90 + .byte 112 + .byte 9 + .byte -114 + .byte 122 + .byte -42 + .byte -10 + .byte -126 + .byte -37 + .byte -25 + .byte 35 + .byte 58 + .byte 80 + .byte -4 + .byte 91 + .byte 108 + .byte -13 + .byte -81 + .byte -29 + .byte 125 + .byte -42 + .byte 44 + .byte 79 + .byte 1 + .byte -100 + .byte 0 + .byte 95 + .byte 11 + .byte 104 + .byte 3 + .byte 54 + .byte 6 + .byte 90 + .byte 2 + .byte 9 + .byte 3 + .byte 122 + .byte 8 + .byte -10 + .byte 0 + .byte -37 + .byte 6 + .byte 35 + .byte 1 + .byte 80 + .byte 12 + .byte 91 + .byte 11 + .byte -13 + .byte 6 + .byte -29 + .byte 4 + .byte -42 + .byte 10 + .byte 79 + .byte 4 + .byte 68 + .byte -109 + .byte -125 + .byte 101 + .byte -118 + .byte 2 + .byte 82 + .byte -36 + .byte -102 + .byte 48 + .byte 64 + .byte -63 + .byte 8 + .byte -104 + .byte -3 + .byte 49 + .byte 8 + .byte -98 + .byte 26 + .byte -81 + .byte 46 + .byte -79 + .byte 13 + .byte 92 + .byte 10 + .byte -121 + .byte 40 + .byte -6 + .byte 117 + .byte 25 + .byte 58 + .byte 22 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte -126 + .byte 102 + .byte -126 + .byte 102 + .byte 66 + .byte -84 + .byte 66 + .byte -84 + .byte 79 + .byte 4 + .byte 79 + .byte 4 + .byte 61 + .byte -22 + .byte 61 + .byte -22 + .byte -126 + .byte 113 + .byte -126 + .byte 113 + .byte -7 + .byte 102 + .byte -7 + .byte 102 + .byte 45 + .byte -68 + .byte 45 + .byte -68 + .byte -60 + .byte 22 + .byte -60 + .byte 22 + .byte -126 + .byte 0 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte -60 + .byte 10 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 103 + .byte -58 + .byte 103 + .byte -58 + .byte 103 + .byte 1 + .byte 103 + .byte 1 + .byte -116 + .byte -21 + .byte -116 + .byte -21 + .byte -116 + .byte 7 + .byte -116 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 11 + .byte 123 + .byte 11 + .byte 123 + .byte 11 + .byte 10 + .byte 11 + .byte 10 + .byte -102 + .byte 57 + .byte -102 + .byte 57 + .byte -102 + .byte 11 + .byte -102 + .byte 11 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte 61 + .byte -23 + .byte 61 + .byte -23 + .byte -44 + .byte 67 + .byte -44 + .byte 67 + .byte 8 + .byte -103 + .byte 8 + .byte -103 + .byte 127 + .byte -114 + .byte 127 + .byte -114 + .byte -60 + .byte 21 + .byte -60 + .byte 21 + .byte -78 + .byte -5 + .byte -78 + .byte -5 + .byte -65 + .byte 83 + .byte -65 + .byte 83 + .byte 127 + .byte -103 + .byte 127 + .byte -103 + .byte 61 + .byte 2 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 127 + .byte 12 + .byte -57 + .byte -23 + .byte -116 + .byte -26 + .byte -39 + .byte 5 + .byte -9 + .byte 120 + .byte -12 + .byte -93 + .byte -45 + .byte 78 + .byte -25 + .byte 80 + .byte -7 + .byte 97 + .byte 4 + .byte -50 + .byte -7 + .byte 103 + .byte -63 + .byte 62 + .byte 103 + .byte -49 + .byte -81 + .byte 35 + .byte 119 + .byte -3 + .byte 126 + .byte -102 + .byte -67 + .byte 108 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -78 + .byte -2 + .byte 43 + .byte -45 + .byte 30 + .byte -126 + .byte 14 + .byte 80 + .byte -90 + .byte -109 + .byte -79 + .byte 3 + .byte -34 + .byte -59 + .byte 38 + .byte 24 + .byte 11 + .byte 125 + .byte -121 + .byte 41 + .byte -8 + .byte 113 + .byte -89 + .byte -113 + .byte -53 + .byte -73 + .byte -103 + .byte 68 + .byte -94 + .byte -57 + .byte 101 + .byte -21 + .byte -78 + .byte 8 + .byte 43 + .byte 2 + .byte 30 + .byte 8 + .byte 14 + .byte 6 + .byte -90 + .byte 1 + .byte -79 + .byte 0 + .byte -34 + .byte 11 + .byte 38 + .byte 6 + .byte 11 + .byte 12 + .byte -121 + .byte 4 + .byte -8 + .byte 9 + .byte -89 + .byte 10 + .byte -53 + .byte 6 + .byte -103 + .byte 9 + .byte -94 + .byte 1 + .byte 101 + .byte 12 + .byte -82 + .byte 43 + .byte 75 + .byte 52 + .byte 103 + .byte -56 + .byte 105 + .byte -85 + .byte 75 + .byte 51 + .byte 22 + .byte -18 + .byte 53 + .byte 90 + .byte 117 + .byte 21 + .byte 10 + .byte -127 + .byte 110 + .byte 118 + .byte -53 + .byte -74 + .byte 95 + .byte 49 + .byte -124 + .byte 78 + .byte 93 + .byte 72 + .byte 73 + .byte 76 + .byte -74 + .byte -50 + .byte -82 + .byte 1 + .byte 75 + .byte 3 + .byte 103 + .byte 3 + .byte 105 + .byte 0 + .byte 75 + .byte 2 + .byte 22 + .byte 12 + .byte 53 + .byte 11 + .byte 117 + .byte 6 + .byte 10 + .byte 3 + .byte 110 + .byte 12 + .byte -53 + .byte 5 + .byte 95 + .byte 4 + .byte -124 + .byte 2 + .byte 93 + .byte 1 + .byte 73 + .byte 1 + .byte -74 + .byte 12 + .byte 20 + .byte 3 + .byte 20 + .byte 3 + .byte 20 + .byte 7 + .byte 20 + .byte 7 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte 88 + .byte -110 + .byte 88 + .byte -110 + .byte -7 + .byte 94 + .byte -7 + .byte 94 + .byte -36 + .byte -42 + .byte -36 + .byte -42 + .byte 96 + .byte 34 + .byte 96 + .byte 34 + .byte -5 + .byte 71 + .byte -5 + .byte 71 + .byte -101 + .byte 34 + .byte -101 + .byte 34 + .byte 52 + .byte 104 + .byte 52 + .byte 104 + .byte -34 + .byte -64 + .byte -34 + .byte -64 + .byte 88 + .byte 10 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -34 + .byte 6 + .byte -84 + .byte 77 + .byte -89 + .byte -111 + .byte -14 + .byte -63 + .byte 62 + .byte -35 + .byte 107 + .byte -111 + .byte 116 + .byte 35 + .byte 10 + .byte -118 + .byte 74 + .byte 71 + .byte 115 + .byte 52 + .byte -63 + .byte 54 + .byte 29 + .byte -114 + .byte 44 + .byte -50 + .byte -64 + .byte 65 + .byte -40 + .byte 16 + .byte -91 + .byte -95 + .byte 6 + .byte -70 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte 49 + .byte -122 + .byte 91 + .byte 99 + .byte 42 + .byte -29 + .byte 72 + .byte 95 + .byte 66 + .byte -82 + .byte -62 + .byte 42 + .byte -105 + .byte 94 + .byte 94 + .byte 66 + .byte 96 + .byte 40 + .byte 3 + .byte -31 + .byte 27 + .byte -88 + .byte -101 + .byte 42 + .byte -107 + .byte 123 + .byte -28 + .byte 111 + .byte -66 + .byte 93 + .byte -14 + .byte -69 + .byte 49 + .byte 3 + .byte 91 + .byte 2 + .byte 42 + .byte 5 + .byte 72 + .byte 7 + .byte 66 + .byte 8 + .byte -62 + .byte 4 + .byte -105 + .byte 9 + .byte 94 + .byte 8 + .byte 96 + .byte 8 + .byte 3 + .byte 8 + .byte 27 + .byte 7 + .byte -101 + .byte 9 + .byte -107 + .byte 12 + .byte -28 + .byte 3 + .byte -66 + .byte 3 + .byte -14 + .byte 5 + .byte 73 + .byte 79 + .byte 98 + .byte 8 + .byte -4 + .byte 59 + .byte -128 + .byte -127 + .byte 121 + .byte -25 + .byte -54 + .byte -59 + .byte -36 + .byte -44 + .byte -122 + .byte 56 + .byte 7 + .byte -84 + .byte 26 + .byte -79 + .byte -85 + .byte 90 + .byte -34 + .byte -69 + .byte -51 + .byte -94 + .byte -33 + .byte -80 + .byte 77 + .byte 30 + .byte 92 + .byte 90 + .byte 73 + .byte 4 + .byte 98 + .byte 2 + .byte -4 + .byte 7 + .byte -128 + .byte 1 + .byte 121 + .byte 12 + .byte -54 + .byte 7 + .byte -36 + .byte 0 + .byte -122 + .byte 6 + .byte 7 + .byte 7 + .byte 26 + .byte 3 + .byte -85 + .byte 9 + .byte -34 + .byte 1 + .byte -51 + .byte 11 + .byte -33 + .byte 3 + .byte 77 + .byte 7 + .byte 92 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 7 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 15 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 23 + .byte 16 + .byte 17 + .byte 18 + .byte 19 + .byte 20 + .byte 21 + .byte 22 + .byte 31 + .byte 24 + .byte 25 + .byte 26 + .byte 27 + .byte 28 + .byte 29 + .byte 30 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 7 + .byte 0 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 15 + .byte 8 + .byte 17 + .byte 18 + .byte 19 + .byte 20 + .byte 21 + .byte 22 + .byte 23 + .byte 16 + .byte 25 + .byte 26 + .byte 27 + .byte 28 + .byte 29 + .byte 30 + .byte 31 + .byte 24 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 61 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 46 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 28 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 23 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 63 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 36 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 37 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 19 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 58 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 54 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 56 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 62 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 49 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 39 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 44 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 43 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 50 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 18 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 36 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 41 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 62 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 28 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 27 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 45 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 56 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 39 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 61 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 55 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 15 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 44 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 43 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 14 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 1 + .byte 4 + .byte 5 + .byte 8 + .byte 9 + .byte 12 + .byte 13 + .byte 2 + .byte 3 + .byte 6 + .byte 7 + .byte 10 + .byte 11 + .byte 14 + .byte 15 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte 12 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 4 + .byte 1 + .byte 0 + .byte 0 + .byte 4 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 5 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 24 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 13 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 18 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 23 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 16 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 22 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 15 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 11 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 12 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 26 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 19 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 17 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 14 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 27 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -8 + .byte 31 + .byte -32 + .byte 127 + .byte 4 + .byte 52 + .byte 1 + .byte 13 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte 15 + .byte 0 + .byte -16 + .byte 0 + .byte -1 + .byte 15 + .byte -1 + .byte 3 + .byte 0 + .byte 16 + .byte 15 + .byte 0 + .byte 1 + .byte 16 + .byte 15 + .byte 0 + .byte 0 + .byte 2 + .byte 1 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -91 + .byte 6 + .byte 15 + .byte 7 + .byte -76 + .byte 5 + .byte 67 + .byte 9 + .byte 34 + .byte 9 + .byte 29 + .byte 9 + .byte 52 + .byte 1 + .byte 108 + .byte 0 + .byte 35 + .byte 11 + .byte 102 + .byte 3 + .byte 86 + .byte 3 + .byte -26 + .byte 5 + .byte -25 + .byte 9 + .byte -2 + .byte 4 + .byte -6 + .byte 5 + .byte -95 + .byte 4 + .byte 123 + .byte 6 + .byte -93 + .byte 4 + .byte 37 + .byte 12 + .byte 106 + .byte 3 + .byte 55 + .byte 5 + .byte 63 + .byte 8 + .byte -120 + .byte 0 + .byte -65 + .byte 4 + .byte -127 + .byte 11 + .byte -71 + .byte 5 + .byte 5 + .byte 5 + .byte -41 + .byte 7 + .byte -97 + .byte 10 + .byte -90 + .byte 10 + .byte -72 + .byte 8 + .byte -48 + .byte 9 + .byte 75 + .byte 0 + .byte -100 + .byte 0 + .byte -72 + .byte 11 + .byte 95 + .byte 11 + .byte -92 + .byte 11 + .byte 104 + .byte 3 + .byte 125 + .byte 10 + .byte 54 + .byte 6 + .byte -94 + .byte 8 + .byte 90 + .byte 2 + .byte 54 + .byte 7 + .byte 9 + .byte 3 + .byte -109 + .byte 0 + .byte 122 + .byte 8 + .byte -9 + .byte 9 + .byte -10 + .byte 0 + .byte -116 + .byte 6 + .byte -37 + .byte 6 + .byte -52 + .byte 1 + .byte 35 + .byte 1 + .byte -21 + .byte 0 + .byte 80 + .byte 12 + .byte -74 + .byte 10 + .byte 91 + .byte 11 + .byte -104 + .byte 12 + .byte -13 + .byte 6 + .byte -102 + .byte 9 + .byte -29 + .byte 4 + .byte -74 + .byte 9 + .byte -42 + .byte 10 + .byte 83 + .byte 11 + .byte 79 + .byte 4 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte -19 + .byte 5 + .byte 103 + .byte 1 + .byte -10 + .byte 2 + .byte -95 + .byte 5 + .byte -19 + .byte 8 + .byte 11 + .byte 10 + .byte -102 + .byte 11 + .byte 20 + .byte 7 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte -78 + .byte 8 + .byte -82 + .byte 1 + .byte 43 + .byte 2 + .byte 75 + .byte 3 + .byte 30 + .byte 8 + .byte 103 + .byte 3 + .byte 14 + .byte 6 + .byte 105 + .byte 0 + .byte -90 + .byte 1 + .byte 75 + .byte 2 + .byte -79 + .byte 0 + .byte 22 + .byte 12 + .byte -34 + .byte 11 + .byte 53 + .byte 11 + .byte 38 + .byte 6 + .byte 117 + .byte 6 + .byte 11 + .byte 12 + .byte 10 + .byte 3 + .byte -121 + .byte 4 + .byte 110 + .byte 12 + .byte -8 + .byte 9 + .byte -53 + .byte 5 + .byte -89 + .byte 10 + .byte 95 + .byte 4 + .byte -53 + .byte 6 + .byte -124 + .byte 2 + .byte -103 + .byte 9 + .byte 93 + .byte 1 + .byte -94 + .byte 1 + .byte 73 + .byte 1 + .byte 101 + .byte 12 + .byte -74 + .byte 12 + .byte 49 + .byte 3 + .byte 73 + .byte 4 + .byte 91 + .byte 2 + .byte 98 + .byte 2 + .byte 42 + .byte 5 + .byte -4 + .byte 7 + .byte 72 + .byte 7 + .byte -128 + .byte 1 + .byte 66 + .byte 8 + .byte 121 + .byte 12 + .byte -62 + .byte 4 + .byte -54 + .byte 7 + .byte -105 + .byte 9 + .byte -36 + .byte 0 + .byte 94 + .byte 8 + .byte -122 + .byte 6 + .byte 96 + .byte 8 + .byte 7 + .byte 7 + .byte 3 + .byte 8 + .byte 26 + .byte 3 + .byte 27 + .byte 7 + .byte -85 + .byte 9 + .byte -101 + .byte 9 + .byte -34 + .byte 1 + .byte -107 + .byte 12 + .byte -51 + .byte 11 + .byte -28 + .byte 3 + .byte -33 + .byte 3 + .byte -66 + .byte 3 + .byte 77 + .byte 7 + .byte -14 + .byte 5 + .byte 92 + .byte 6 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 diff --git a/src/kem/kyber/libjade_kyber512_ref/api.c b/src/kem/kyber/libjade_kyber512_ref/api.c new file mode 100644 index 000000000..7b11f7309 --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_ref/api.c @@ -0,0 +1,19 @@ +#include +#include "api.h" + +int libjade_kyber512_ref_keypair(uint8_t *public_key, uint8_t *secret_key) { + uint8_t keypair_coins[JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES]; + OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2); + OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES/2); + return jade_kem_kyber_kyber512_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins); +} + +int libjade_kyber512_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { + uint8_t enc_coins[JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES]; + OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES); + return jade_kem_kyber_kyber512_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins); +} + +int libjade_kyber512_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { + return jade_kem_kyber_kyber512_amd64_ref_dec(shared_secret, ciphertext, secret_key); +} diff --git a/src/kem/kyber/libjade_kyber512_ref/api.h b/src/kem/kyber/libjade_kyber512_ref/api.h new file mode 100644 index 000000000..fcce52b89 --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_ref/api.h @@ -0,0 +1,45 @@ +#ifndef JADE_KEM_kyber_kyber512_amd64_ref_API_H +#define JADE_KEM_kyber_kyber512_amd64_ref_API_H + +#include + +#define JADE_KEM_kyber_kyber512_amd64_ref_KEYPAIRCOINBYTES 64 +#define JADE_KEM_kyber_kyber512_amd64_ref_ENCCOINBYTES 32 + +int jade_kem_kyber_kyber512_amd64_ref_keypair_derand( + uint8_t *public_key, + uint8_t *secret_key, + const uint8_t *coins +); + +int libjade_kyber512_ref_keypair( + uint8_t *public_key, + uint8_t *secret_key +); + +int jade_kem_kyber_kyber512_amd64_ref_enc_derand( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key, + const uint8_t *coins +); + +int libjade_kyber512_ref_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +); + +int jade_kem_kyber_kyber512_amd64_ref_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +int libjade_kyber512_ref_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +#endif diff --git a/src/kem/kyber/libjade_kyber512_ref/kem.S b/src/kem/kyber/libjade_kyber512_ref/kem.S new file mode 100644 index 000000000..ba95209c6 --- /dev/null +++ b/src/kem/kyber/libjade_kyber512_ref/kem.S @@ -0,0 +1,16334 @@ + .att_syntax + .text + .p2align 5 + .globl _jade_kem_kyber_kyber512_amd64_ref_dec + .globl jade_kem_kyber_kyber512_amd64_ref_dec + .globl _jade_kem_kyber_kyber512_amd64_ref_enc + .globl jade_kem_kyber_kyber512_amd64_ref_enc + .globl _jade_kem_kyber_kyber512_amd64_ref_enc_derand + .globl jade_kem_kyber_kyber512_amd64_ref_enc_derand + .globl _jade_kem_kyber_kyber512_amd64_ref_keypair + .globl jade_kem_kyber_kyber512_amd64_ref_keypair + .globl _jade_kem_kyber_kyber512_amd64_ref_keypair_derand + .globl jade_kem_kyber_kyber512_amd64_ref_keypair_derand +_jade_kem_kyber_kyber512_amd64_ref_dec: +jade_kem_kyber_kyber512_amd64_ref_dec: + movq %rsp, %rax + leaq -9632(%rsp), %rsp + andq $-8, %rsp + movq %rax, 9624(%rsp) + movq %r14, 9584(%rsp) + movq %r13, 9592(%rsp) + movq %r12, 9600(%rsp) + movq %rbp, 9608(%rsp) + movq %rbx, 9616(%rsp) + movq %rdi, (%rsp) + movq %rsi, 8(%rsp) + leaq 88(%rsp), %rax + movq $0, %rcx + movq $0, %rdi + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$124 +Ljade_kem_kyber_kyber512_amd64_ref_dec$125: + movzbl (%rsi,%rdi), %r10d + incq %rdi + movzbl (%rsi,%rdi), %r11d + incq %rdi + movzbl (%rsi,%rdi), %r8d + incq %rdi + movzbl (%rsi,%rdi), %r9d + incq %rdi + movzbl (%rsi,%rdi), %ebx + incq %rdi + movl %r11d, %ebp + shrl $2, %r11d + andl $3, %ebp + shll $8, %ebp + orl %ebp, %r10d + movl %r8d, %ebp + shrl $4, %r8d + andl $15, %ebp + shll $6, %ebp + orl %ebp, %r11d + movl %r9d, %ebp + shrl $6, %r9d + andl $63, %ebp + shll $4, %ebp + orl %ebp, %r8d + shll $2, %ebx + orl %ebx, %r9d + imull $3329, %r10d, %r10d + addl $512, %r10d + shrl $10, %r10d + movw %r10w, 2464(%rsp,%rcx,2) + incq %rcx + imull $3329, %r11d, %r10d + addl $512, %r10d + shrl $10, %r10d + movw %r10w, 2464(%rsp,%rcx,2) + incq %rcx + imull $3329, %r8d, %r8d + addl $512, %r8d + shrl $10, %r8d + movw %r8w, 2464(%rsp,%rcx,2) + incq %rcx + imull $3329, %r9d, %r8d + addl $512, %r8d + shrl $10, %r8d + movw %r8w, 2464(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$124: + cmpq $512, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$125 + addq $640, %rsi + leaq 928(%rsp), %rcx + call L_poly_decompress$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$123: + movq %rdx, %rsi + leaq 3488(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$122: + addq $384, %rsi + leaq 4000(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$121: + leaq 2464(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$120: + leaq 2976(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$119: + leaq 416(%rsp), %rdi + leaq 3488(%rsp), %rcx + leaq 2464(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$118: + leaq 16(%rsp), %rsp + leaq 1440(%rsp), %rdi + leaq 4000(%rsp), %rcx + leaq 2976(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$117: + leaq 16(%rsp), %rsp + leaq 416(%rsp), %rcx + leaq 1440(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$116: + leaq 416(%rsp), %rcx + movq $0, %rsi + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$114 +Ljade_kem_kyber_kyber512_amd64_ref_dec$115: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +Ljade_kem_kyber_kyber512_amd64_ref_dec$114: + cmpq $256, %rsi + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$115 + leaq 416(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$113: + leaq 1440(%rsp), %rcx + leaq 928(%rsp), %rsi + leaq 416(%rsp), %rdi + call L_poly_sub$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$112: + leaq 1440(%rsp), %rcx + movq $0, %rsi + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$110 +Ljade_kem_kyber_kyber512_amd64_ref_dec$111: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +Ljade_kem_kyber_kyber512_amd64_ref_dec$110: + cmpq $256, %rsi + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$111 + leaq 1440(%rsp), %rcx + call L_i_poly_tomsg$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$109: + leaq 32(%rdx), %rax + addq $1536, %rax + movq (%rax), %rcx + movq %rcx, 120(%rsp) + movq 8(%rax), %rcx + movq %rcx, 128(%rsp) + movq 16(%rax), %rcx + movq %rcx, 136(%rsp) + movq 24(%rax), %rax + movq %rax, 144(%rsp) + movq %rdx, 16(%rsp) + leaq 152(%rsp), %rax + leaq 88(%rsp), %rcx + leaq -208(%rsp), %rsp + call L_sha3_512_64$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$108: + leaq 208(%rsp), %rsp + movq 16(%rsp), %rdx + addq $768, %rdx + leaq 8810(%rsp), %rsi + leaq 88(%rsp), %rcx + leaq 184(%rsp), %rax + movq %rsi, 24(%rsp) + movq %rdx, %rsi + leaq 2464(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$107: + addq $384, %rsi + leaq 2976(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$106: + movq $0, %rsi + addq $768, %rdx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$104 +Ljade_kem_kyber_kyber512_amd64_ref_dec$105: + movq (%rdx), %rdi + movq %rdi, 56(%rsp,%rsi,8) + addq $8, %rdx + incq %rsi +Ljade_kem_kyber_kyber512_amd64_ref_dec$104: + cmpq $4, %rsi + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$105 + leaq 1440(%rsp), %rdx + call L_i_poly_frommsg$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$103: + movq %rax, 32(%rsp) + movq $1, %rax + movq %rax, 40(%rsp) + movb 56(%rsp), %al + movb %al, 8608(%rsp) + movb 57(%rsp), %al + movb %al, 8609(%rsp) + movb 58(%rsp), %al + movb %al, 8610(%rsp) + movb 59(%rsp), %al + movb %al, 8611(%rsp) + movb 60(%rsp), %al + movb %al, 8612(%rsp) + movb 61(%rsp), %al + movb %al, 8613(%rsp) + movb 62(%rsp), %al + movb %al, 8614(%rsp) + movb 63(%rsp), %al + movb %al, 8615(%rsp) + movb 64(%rsp), %al + movb %al, 8616(%rsp) + movb 65(%rsp), %al + movb %al, 8617(%rsp) + movb 66(%rsp), %al + movb %al, 8618(%rsp) + movb 67(%rsp), %al + movb %al, 8619(%rsp) + movb 68(%rsp), %al + movb %al, 8620(%rsp) + movb 69(%rsp), %al + movb %al, 8621(%rsp) + movb 70(%rsp), %al + movb %al, 8622(%rsp) + movb 71(%rsp), %al + movb %al, 8623(%rsp) + movb 72(%rsp), %al + movb %al, 8624(%rsp) + movb 73(%rsp), %al + movb %al, 8625(%rsp) + movb 74(%rsp), %al + movb %al, 8626(%rsp) + movb 75(%rsp), %al + movb %al, 8627(%rsp) + movb 76(%rsp), %al + movb %al, 8628(%rsp) + movb 77(%rsp), %al + movb %al, 8629(%rsp) + movb 78(%rsp), %al + movb %al, 8630(%rsp) + movb 79(%rsp), %al + movb %al, 8631(%rsp) + movb 80(%rsp), %al + movb %al, 8632(%rsp) + movb 81(%rsp), %al + movb %al, 8633(%rsp) + movb 82(%rsp), %al + movb %al, 8634(%rsp) + movb 83(%rsp), %al + movb %al, 8635(%rsp) + movb 84(%rsp), %al + movb %al, 8636(%rsp) + movb 85(%rsp), %al + movb %al, 8637(%rsp) + movb 86(%rsp), %al + movb %al, 8638(%rsp) + movb 87(%rsp), %al + movb %al, 8639(%rsp) + movq 40(%rsp), %rax + cmpq $0, %rax + je Ljade_kem_kyber_kyber512_amd64_ref_dec$101 + movb $0, 8640(%rsp) + movb $0, 8641(%rsp) + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$102 +Ljade_kem_kyber_kyber512_amd64_ref_dec$101: + movb $0, 8640(%rsp) + movb $0, 8641(%rsp) +Ljade_kem_kyber_kyber512_amd64_ref_dec$102: + leaq 216(%rsp), %rax + leaq 8608(%rsp), %rcx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$100: + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$98 +Ljade_kem_kyber_kyber512_amd64_ref_dec$99: + movq %rax, 416(%rsp,%rax,8) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$98: + cmpq $64, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$99 + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$90 +Ljade_kem_kyber_kyber512_amd64_ref_dec$91: + movq %rax, 48(%rsp) + leaq 216(%rsp), %rax + leaq 8642(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$97: + leaq 8(%rsp), %rsp + movq 48(%rsp), %rax + movq $0, %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$92: + movzbw 8642(%rsp,%rcx), %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$95 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$95 + movw %dx, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$96: +Ljade_kem_kyber_kyber512_amd64_ref_dec$95: + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$93 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$93 + movw %di, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$94: +Ljade_kem_kyber_kyber512_amd64_ref_dec$93: + cmpq $166, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$92 +Ljade_kem_kyber_kyber512_amd64_ref_dec$90: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$91 + movq $0, %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$88 +Ljade_kem_kyber_kyber512_amd64_ref_dec$89: + movw 416(%rsp,%rax,2), %dx + movw %dx, 6560(%rsp,%rcx,2) + incq %rax + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$88: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$89 + movq 40(%rsp), %rax + cmpq $0, %rax + je Ljade_kem_kyber_kyber512_amd64_ref_dec$86 + movb $0, 8640(%rsp) + movb $1, 8641(%rsp) + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$87 +Ljade_kem_kyber_kyber512_amd64_ref_dec$86: + movb $1, 8640(%rsp) + movb $0, 8641(%rsp) +Ljade_kem_kyber_kyber512_amd64_ref_dec$87: + leaq 216(%rsp), %rax + leaq 8608(%rsp), %rcx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$85: + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$83 +Ljade_kem_kyber_kyber512_amd64_ref_dec$84: + movq %rax, 416(%rsp,%rax,8) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$83: + cmpq $64, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$84 + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$75 +Ljade_kem_kyber_kyber512_amd64_ref_dec$76: + movq %rax, 48(%rsp) + leaq 216(%rsp), %rax + leaq 8642(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$82: + leaq 8(%rsp), %rsp + movq 48(%rsp), %rax + movq $0, %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$77: + movzbw 8642(%rsp,%rcx), %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$80 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$80 + movw %dx, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$81: +Ljade_kem_kyber_kyber512_amd64_ref_dec$80: + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$78 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$78 + movw %di, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$79: +Ljade_kem_kyber_kyber512_amd64_ref_dec$78: + cmpq $166, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$77 +Ljade_kem_kyber_kyber512_amd64_ref_dec$75: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$76 + movq $0, %rax + movq $256, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$73 +Ljade_kem_kyber_kyber512_amd64_ref_dec$74: + movw 416(%rsp,%rax,2), %dx + movw %dx, 6560(%rsp,%rcx,2) + incq %rax + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$73: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$74 + movq 40(%rsp), %rax + cmpq $0, %rax + je Ljade_kem_kyber_kyber512_amd64_ref_dec$71 + movb $1, 8640(%rsp) + movb $0, 8641(%rsp) + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$72 +Ljade_kem_kyber_kyber512_amd64_ref_dec$71: + movb $0, 8640(%rsp) + movb $1, 8641(%rsp) +Ljade_kem_kyber_kyber512_amd64_ref_dec$72: + leaq 216(%rsp), %rax + leaq 8608(%rsp), %rcx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$70: + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$68 +Ljade_kem_kyber_kyber512_amd64_ref_dec$69: + movq %rax, 416(%rsp,%rax,8) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$68: + cmpq $64, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$69 + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$60 +Ljade_kem_kyber_kyber512_amd64_ref_dec$61: + movq %rax, 48(%rsp) + leaq 216(%rsp), %rax + leaq 8642(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$67: + leaq 8(%rsp), %rsp + movq 48(%rsp), %rax + movq $0, %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$62: + movzbw 8642(%rsp,%rcx), %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$65 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$65 + movw %dx, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$66: +Ljade_kem_kyber_kyber512_amd64_ref_dec$65: + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$63 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$63 + movw %di, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$64: +Ljade_kem_kyber_kyber512_amd64_ref_dec$63: + cmpq $166, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$62 +Ljade_kem_kyber_kyber512_amd64_ref_dec$60: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$61 + movq $0, %rax + movq $512, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$58 +Ljade_kem_kyber_kyber512_amd64_ref_dec$59: + movw 416(%rsp,%rax,2), %dx + movw %dx, 6560(%rsp,%rcx,2) + incq %rax + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$58: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$59 + movq 40(%rsp), %rax + cmpq $0, %rax + je Ljade_kem_kyber_kyber512_amd64_ref_dec$56 + movb $1, 8640(%rsp) + movb $1, 8641(%rsp) + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$57 +Ljade_kem_kyber_kyber512_amd64_ref_dec$56: + movb $1, 8640(%rsp) + movb $1, 8641(%rsp) +Ljade_kem_kyber_kyber512_amd64_ref_dec$57: + leaq 216(%rsp), %rax + leaq 8608(%rsp), %rcx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$55: + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$53 +Ljade_kem_kyber_kyber512_amd64_ref_dec$54: + movq %rax, 416(%rsp,%rax,8) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$53: + cmpq $64, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$54 + movq $0, %rax + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$45 +Ljade_kem_kyber_kyber512_amd64_ref_dec$46: + movq %rax, 40(%rsp) + leaq 216(%rsp), %rax + leaq 8642(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$52: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rax + movq $0, %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$47: + movzbw 8642(%rsp,%rcx), %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8642(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$50 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$50 + movw %dx, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$51: +Ljade_kem_kyber_kyber512_amd64_ref_dec$50: + cmpw $3329, %di + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$48 + cmpq $256, %rax + jnb Ljade_kem_kyber_kyber512_amd64_ref_dec$48 + movw %di, 416(%rsp,%rax,2) + incq %rax +Ljade_kem_kyber_kyber512_amd64_ref_dec$49: +Ljade_kem_kyber_kyber512_amd64_ref_dec$48: + cmpq $166, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$47 +Ljade_kem_kyber_kyber512_amd64_ref_dec$45: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$46 + movq $0, %rax + movq $768, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$43 +Ljade_kem_kyber_kyber512_amd64_ref_dec$44: + movw 416(%rsp,%rax,2), %dx + movw %dx, 6560(%rsp,%rcx,2) + incq %rax + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$43: + cmpq $256, %rax + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$44 + movq 32(%rsp), %rcx + movb $0, %al + leaq 3488(%rsp), %rdx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$42: + leaq 240(%rsp), %rsp + movq 32(%rsp), %rcx + movb $1, %al + leaq 4000(%rsp), %rdx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$41: + leaq 240(%rsp), %rsp + movq 32(%rsp), %rax + movb $2, %cl + leaq 4512(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$40: + leaq 176(%rsp), %rsp + movq 32(%rsp), %rax + movb $3, %cl + leaq 5024(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$39: + leaq 176(%rsp), %rsp + movq 32(%rsp), %rax + movb $4, %cl + leaq 416(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$38: + leaq 176(%rsp), %rsp + leaq 3488(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$37: + leaq 4000(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$36: + leaq 5536(%rsp), %rdi + leaq 6560(%rsp), %rcx + leaq 3488(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$35: + leaq 16(%rsp), %rsp + leaq 928(%rsp), %rdi + leaq 7072(%rsp), %rcx + leaq 4000(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$34: + leaq 16(%rsp), %rsp + leaq 5536(%rsp), %rcx + leaq 928(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$33: + leaq 5536(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$31 +Ljade_kem_kyber_kyber512_amd64_ref_dec$32: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$31: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$32 + leaq 6048(%rsp), %rdi + leaq 7584(%rsp), %rcx + leaq 3488(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$30: + leaq 16(%rsp), %rsp + leaq 928(%rsp), %rdi + leaq 8096(%rsp), %rcx + leaq 4000(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$29: + leaq 16(%rsp), %rsp + leaq 6048(%rsp), %rcx + leaq 928(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$28: + leaq 6048(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$26 +Ljade_kem_kyber_kyber512_amd64_ref_dec$27: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$26: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$27 + leaq 928(%rsp), %rdi + leaq 2464(%rsp), %rcx + leaq 3488(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$25: + leaq 16(%rsp), %rsp + leaq 1952(%rsp), %rdi + leaq 2976(%rsp), %rcx + leaq 4000(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$24: + leaq 16(%rsp), %rsp + leaq 928(%rsp), %rcx + leaq 1952(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$23: + leaq 928(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$21 +Ljade_kem_kyber_kyber512_amd64_ref_dec$22: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$21: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$22 + leaq 5536(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$20: + leaq 6048(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$19: + leaq 928(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$18: + leaq 5536(%rsp), %rcx + leaq 4512(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$17: + leaq 6048(%rsp), %rcx + leaq 5024(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$16: + leaq 928(%rsp), %rcx + leaq 416(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$15: + leaq 928(%rsp), %rcx + leaq 1440(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$14: + leaq 5536(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$12 +Ljade_kem_kyber_kyber512_amd64_ref_dec$13: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$12: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$13 + leaq 6048(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$10 +Ljade_kem_kyber_kyber512_amd64_ref_dec$11: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$10: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$11 + leaq 928(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$8 +Ljade_kem_kyber_kyber512_amd64_ref_dec$9: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber512_amd64_ref_dec$8: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$9 + movq 24(%rsp), %rax + movq %rax, %rdx + movq $0, %rsi + movq $0, %rdi + leaq 5536(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$7: + leaq 6048(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$6: + jmp Ljade_kem_kyber_kyber512_amd64_ref_dec$4 +Ljade_kem_kyber_kyber512_amd64_ref_dec$5: + movzwq 5536(%rsp,%rsi,2), %rcx + incq %rsi + shlq $10, %rcx + addq $1665, %rcx + imulq $1290167, %rcx, %rcx + shrq $32, %rcx + andq $1023, %rcx + movzwq 5536(%rsp,%rsi,2), %r8 + incq %rsi + shlq $10, %r8 + addq $1665, %r8 + imulq $1290167, %r8, %r8 + shrq $32, %r8 + andq $1023, %r8 + movzwq 5536(%rsp,%rsi,2), %r9 + incq %rsi + shlq $10, %r9 + addq $1665, %r9 + imulq $1290167, %r9, %r9 + shrq $32, %r9 + andq $1023, %r9 + movzwq 5536(%rsp,%rsi,2), %r10 + incq %rsi + shlq $10, %r10 + addq $1665, %r10 + imulq $1290167, %r10, %r10 + shrq $32, %r10 + andq $1023, %r10 + movw %cx, %r11w + andw $255, %r11w + movb %r11b, (%rdx,%rdi) + incq %rdi + shrw $8, %cx + movw %r8w, %r11w + shlw $2, %r11w + orw %cx, %r11w + movb %r11b, (%rdx,%rdi) + incq %rdi + shrw $6, %r8w + movw %r9w, %cx + shlw $4, %cx + orw %r8w, %cx + movb %cl, (%rdx,%rdi) + incq %rdi + shrw $4, %r9w + movw %r10w, %cx + shlw $6, %cx + orw %r9w, %cx + movb %cl, (%rdx,%rdi) + incq %rdi + shrq $2, %r10 + movb %r10b, (%rdx,%rdi) + incq %rdi +Ljade_kem_kyber_kyber512_amd64_ref_dec$4: + cmpq $512, %rsi + jb Ljade_kem_kyber_kyber512_amd64_ref_dec$5 + leaq 640(%rax), %rax + leaq 928(%rsp), %rcx + call L_i_poly_compress$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$3: + movq 8(%rsp), %rsi + leaq 8810(%rsp), %rax + movq $0, %rcx + movb (%rax), %dl + movb (%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1(%rax), %dl + movb 1(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 2(%rax), %dl + movb 2(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 3(%rax), %dl + movb 3(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 4(%rax), %dl + movb 4(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 5(%rax), %dl + movb 5(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 6(%rax), %dl + movb 6(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 7(%rax), %dl + movb 7(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 8(%rax), %dl + movb 8(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 9(%rax), %dl + movb 9(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 10(%rax), %dl + movb 10(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 11(%rax), %dl + movb 11(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 12(%rax), %dl + movb 12(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 13(%rax), %dl + movb 13(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 14(%rax), %dl + movb 14(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 15(%rax), %dl + movb 15(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 16(%rax), %dl + movb 16(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 17(%rax), %dl + movb 17(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 18(%rax), %dl + movb 18(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 19(%rax), %dl + movb 19(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 20(%rax), %dl + movb 20(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 21(%rax), %dl + movb 21(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 22(%rax), %dl + movb 22(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 23(%rax), %dl + movb 23(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 24(%rax), %dl + movb 24(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 25(%rax), %dl + movb 25(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 26(%rax), %dl + movb 26(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 27(%rax), %dl + movb 27(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 28(%rax), %dl + movb 28(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 29(%rax), %dl + movb 29(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 30(%rax), %dl + movb 30(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 31(%rax), %dl + movb 31(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 32(%rax), %dl + movb 32(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 33(%rax), %dl + movb 33(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 34(%rax), %dl + movb 34(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 35(%rax), %dl + movb 35(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 36(%rax), %dl + movb 36(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 37(%rax), %dl + movb 37(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 38(%rax), %dl + movb 38(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 39(%rax), %dl + movb 39(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 40(%rax), %dl + movb 40(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 41(%rax), %dl + movb 41(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 42(%rax), %dl + movb 42(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 43(%rax), %dl + movb 43(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 44(%rax), %dl + movb 44(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 45(%rax), %dl + movb 45(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 46(%rax), %dl + movb 46(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 47(%rax), %dl + movb 47(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 48(%rax), %dl + movb 48(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 49(%rax), %dl + movb 49(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 50(%rax), %dl + movb 50(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 51(%rax), %dl + movb 51(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 52(%rax), %dl + movb 52(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 53(%rax), %dl + movb 53(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 54(%rax), %dl + movb 54(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 55(%rax), %dl + movb 55(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 56(%rax), %dl + movb 56(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 57(%rax), %dl + movb 57(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 58(%rax), %dl + movb 58(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 59(%rax), %dl + movb 59(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 60(%rax), %dl + movb 60(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 61(%rax), %dl + movb 61(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 62(%rax), %dl + movb 62(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 63(%rax), %dl + movb 63(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 64(%rax), %dl + movb 64(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 65(%rax), %dl + movb 65(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 66(%rax), %dl + movb 66(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 67(%rax), %dl + movb 67(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 68(%rax), %dl + movb 68(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 69(%rax), %dl + movb 69(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 70(%rax), %dl + movb 70(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 71(%rax), %dl + movb 71(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 72(%rax), %dl + movb 72(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 73(%rax), %dl + movb 73(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 74(%rax), %dl + movb 74(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 75(%rax), %dl + movb 75(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 76(%rax), %dl + movb 76(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 77(%rax), %dl + movb 77(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 78(%rax), %dl + movb 78(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 79(%rax), %dl + movb 79(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 80(%rax), %dl + movb 80(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 81(%rax), %dl + movb 81(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 82(%rax), %dl + movb 82(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 83(%rax), %dl + movb 83(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 84(%rax), %dl + movb 84(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 85(%rax), %dl + movb 85(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 86(%rax), %dl + movb 86(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 87(%rax), %dl + movb 87(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 88(%rax), %dl + movb 88(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 89(%rax), %dl + movb 89(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 90(%rax), %dl + movb 90(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 91(%rax), %dl + movb 91(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 92(%rax), %dl + movb 92(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 93(%rax), %dl + movb 93(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 94(%rax), %dl + movb 94(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 95(%rax), %dl + movb 95(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 96(%rax), %dl + movb 96(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 97(%rax), %dl + movb 97(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 98(%rax), %dl + movb 98(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 99(%rax), %dl + movb 99(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 100(%rax), %dl + movb 100(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 101(%rax), %dl + movb 101(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 102(%rax), %dl + movb 102(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 103(%rax), %dl + movb 103(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 104(%rax), %dl + movb 104(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 105(%rax), %dl + movb 105(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 106(%rax), %dl + movb 106(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 107(%rax), %dl + movb 107(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 108(%rax), %dl + movb 108(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 109(%rax), %dl + movb 109(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 110(%rax), %dl + movb 110(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 111(%rax), %dl + movb 111(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 112(%rax), %dl + movb 112(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 113(%rax), %dl + movb 113(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 114(%rax), %dl + movb 114(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 115(%rax), %dl + movb 115(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 116(%rax), %dl + movb 116(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 117(%rax), %dl + movb 117(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 118(%rax), %dl + movb 118(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 119(%rax), %dl + movb 119(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 120(%rax), %dl + movb 120(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 121(%rax), %dl + movb 121(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 122(%rax), %dl + movb 122(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 123(%rax), %dl + movb 123(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 124(%rax), %dl + movb 124(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 125(%rax), %dl + movb 125(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 126(%rax), %dl + movb 126(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 127(%rax), %dl + movb 127(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 128(%rax), %dl + movb 128(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 129(%rax), %dl + movb 129(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 130(%rax), %dl + movb 130(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 131(%rax), %dl + movb 131(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 132(%rax), %dl + movb 132(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 133(%rax), %dl + movb 133(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 134(%rax), %dl + movb 134(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 135(%rax), %dl + movb 135(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 136(%rax), %dl + movb 136(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 137(%rax), %dl + movb 137(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 138(%rax), %dl + movb 138(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 139(%rax), %dl + movb 139(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 140(%rax), %dl + movb 140(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 141(%rax), %dl + movb 141(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 142(%rax), %dl + movb 142(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 143(%rax), %dl + movb 143(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 144(%rax), %dl + movb 144(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 145(%rax), %dl + movb 145(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 146(%rax), %dl + movb 146(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 147(%rax), %dl + movb 147(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 148(%rax), %dl + movb 148(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 149(%rax), %dl + movb 149(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 150(%rax), %dl + movb 150(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 151(%rax), %dl + movb 151(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 152(%rax), %dl + movb 152(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 153(%rax), %dl + movb 153(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 154(%rax), %dl + movb 154(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 155(%rax), %dl + movb 155(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 156(%rax), %dl + movb 156(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 157(%rax), %dl + movb 157(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 158(%rax), %dl + movb 158(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 159(%rax), %dl + movb 159(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 160(%rax), %dl + movb 160(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 161(%rax), %dl + movb 161(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 162(%rax), %dl + movb 162(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 163(%rax), %dl + movb 163(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 164(%rax), %dl + movb 164(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 165(%rax), %dl + movb 165(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 166(%rax), %dl + movb 166(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 167(%rax), %dl + movb 167(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 168(%rax), %dl + movb 168(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 169(%rax), %dl + movb 169(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 170(%rax), %dl + movb 170(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 171(%rax), %dl + movb 171(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 172(%rax), %dl + movb 172(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 173(%rax), %dl + movb 173(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 174(%rax), %dl + movb 174(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 175(%rax), %dl + movb 175(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 176(%rax), %dl + movb 176(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 177(%rax), %dl + movb 177(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 178(%rax), %dl + movb 178(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 179(%rax), %dl + movb 179(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 180(%rax), %dl + movb 180(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 181(%rax), %dl + movb 181(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 182(%rax), %dl + movb 182(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 183(%rax), %dl + movb 183(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 184(%rax), %dl + movb 184(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 185(%rax), %dl + movb 185(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 186(%rax), %dl + movb 186(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 187(%rax), %dl + movb 187(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 188(%rax), %dl + movb 188(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 189(%rax), %dl + movb 189(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 190(%rax), %dl + movb 190(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 191(%rax), %dl + movb 191(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 192(%rax), %dl + movb 192(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 193(%rax), %dl + movb 193(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 194(%rax), %dl + movb 194(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 195(%rax), %dl + movb 195(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 196(%rax), %dl + movb 196(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 197(%rax), %dl + movb 197(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 198(%rax), %dl + movb 198(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 199(%rax), %dl + movb 199(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 200(%rax), %dl + movb 200(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 201(%rax), %dl + movb 201(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 202(%rax), %dl + movb 202(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 203(%rax), %dl + movb 203(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 204(%rax), %dl + movb 204(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 205(%rax), %dl + movb 205(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 206(%rax), %dl + movb 206(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 207(%rax), %dl + movb 207(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 208(%rax), %dl + movb 208(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 209(%rax), %dl + movb 209(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 210(%rax), %dl + movb 210(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 211(%rax), %dl + movb 211(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 212(%rax), %dl + movb 212(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 213(%rax), %dl + movb 213(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 214(%rax), %dl + movb 214(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 215(%rax), %dl + movb 215(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 216(%rax), %dl + movb 216(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 217(%rax), %dl + movb 217(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 218(%rax), %dl + movb 218(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 219(%rax), %dl + movb 219(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 220(%rax), %dl + movb 220(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 221(%rax), %dl + movb 221(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 222(%rax), %dl + movb 222(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 223(%rax), %dl + movb 223(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 224(%rax), %dl + movb 224(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 225(%rax), %dl + movb 225(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 226(%rax), %dl + movb 226(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 227(%rax), %dl + movb 227(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 228(%rax), %dl + movb 228(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 229(%rax), %dl + movb 229(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 230(%rax), %dl + movb 230(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 231(%rax), %dl + movb 231(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 232(%rax), %dl + movb 232(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 233(%rax), %dl + movb 233(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 234(%rax), %dl + movb 234(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 235(%rax), %dl + movb 235(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 236(%rax), %dl + movb 236(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 237(%rax), %dl + movb 237(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 238(%rax), %dl + movb 238(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 239(%rax), %dl + movb 239(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 240(%rax), %dl + movb 240(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 241(%rax), %dl + movb 241(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 242(%rax), %dl + movb 242(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 243(%rax), %dl + movb 243(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 244(%rax), %dl + movb 244(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 245(%rax), %dl + movb 245(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 246(%rax), %dl + movb 246(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 247(%rax), %dl + movb 247(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 248(%rax), %dl + movb 248(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 249(%rax), %dl + movb 249(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 250(%rax), %dl + movb 250(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 251(%rax), %dl + movb 251(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 252(%rax), %dl + movb 252(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 253(%rax), %dl + movb 253(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 254(%rax), %dl + movb 254(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 255(%rax), %dl + movb 255(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 256(%rax), %dl + movb 256(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 257(%rax), %dl + movb 257(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 258(%rax), %dl + movb 258(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 259(%rax), %dl + movb 259(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 260(%rax), %dl + movb 260(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 261(%rax), %dl + movb 261(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 262(%rax), %dl + movb 262(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 263(%rax), %dl + movb 263(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 264(%rax), %dl + movb 264(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 265(%rax), %dl + movb 265(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 266(%rax), %dl + movb 266(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 267(%rax), %dl + movb 267(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 268(%rax), %dl + movb 268(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 269(%rax), %dl + movb 269(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 270(%rax), %dl + movb 270(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 271(%rax), %dl + movb 271(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 272(%rax), %dl + movb 272(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 273(%rax), %dl + movb 273(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 274(%rax), %dl + movb 274(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 275(%rax), %dl + movb 275(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 276(%rax), %dl + movb 276(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 277(%rax), %dl + movb 277(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 278(%rax), %dl + movb 278(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 279(%rax), %dl + movb 279(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 280(%rax), %dl + movb 280(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 281(%rax), %dl + movb 281(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 282(%rax), %dl + movb 282(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 283(%rax), %dl + movb 283(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 284(%rax), %dl + movb 284(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 285(%rax), %dl + movb 285(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 286(%rax), %dl + movb 286(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 287(%rax), %dl + movb 287(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 288(%rax), %dl + movb 288(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 289(%rax), %dl + movb 289(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 290(%rax), %dl + movb 290(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 291(%rax), %dl + movb 291(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 292(%rax), %dl + movb 292(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 293(%rax), %dl + movb 293(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 294(%rax), %dl + movb 294(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 295(%rax), %dl + movb 295(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 296(%rax), %dl + movb 296(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 297(%rax), %dl + movb 297(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 298(%rax), %dl + movb 298(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 299(%rax), %dl + movb 299(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 300(%rax), %dl + movb 300(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 301(%rax), %dl + movb 301(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 302(%rax), %dl + movb 302(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 303(%rax), %dl + movb 303(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 304(%rax), %dl + movb 304(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 305(%rax), %dl + movb 305(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 306(%rax), %dl + movb 306(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 307(%rax), %dl + movb 307(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 308(%rax), %dl + movb 308(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 309(%rax), %dl + movb 309(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 310(%rax), %dl + movb 310(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 311(%rax), %dl + movb 311(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 312(%rax), %dl + movb 312(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 313(%rax), %dl + movb 313(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 314(%rax), %dl + movb 314(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 315(%rax), %dl + movb 315(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 316(%rax), %dl + movb 316(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 317(%rax), %dl + movb 317(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 318(%rax), %dl + movb 318(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 319(%rax), %dl + movb 319(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 320(%rax), %dl + movb 320(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 321(%rax), %dl + movb 321(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 322(%rax), %dl + movb 322(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 323(%rax), %dl + movb 323(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 324(%rax), %dl + movb 324(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 325(%rax), %dl + movb 325(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 326(%rax), %dl + movb 326(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 327(%rax), %dl + movb 327(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 328(%rax), %dl + movb 328(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 329(%rax), %dl + movb 329(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 330(%rax), %dl + movb 330(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 331(%rax), %dl + movb 331(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 332(%rax), %dl + movb 332(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 333(%rax), %dl + movb 333(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 334(%rax), %dl + movb 334(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 335(%rax), %dl + movb 335(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 336(%rax), %dl + movb 336(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 337(%rax), %dl + movb 337(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 338(%rax), %dl + movb 338(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 339(%rax), %dl + movb 339(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 340(%rax), %dl + movb 340(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 341(%rax), %dl + movb 341(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 342(%rax), %dl + movb 342(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 343(%rax), %dl + movb 343(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 344(%rax), %dl + movb 344(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 345(%rax), %dl + movb 345(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 346(%rax), %dl + movb 346(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 347(%rax), %dl + movb 347(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 348(%rax), %dl + movb 348(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 349(%rax), %dl + movb 349(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 350(%rax), %dl + movb 350(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 351(%rax), %dl + movb 351(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 352(%rax), %dl + movb 352(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 353(%rax), %dl + movb 353(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 354(%rax), %dl + movb 354(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 355(%rax), %dl + movb 355(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 356(%rax), %dl + movb 356(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 357(%rax), %dl + movb 357(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 358(%rax), %dl + movb 358(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 359(%rax), %dl + movb 359(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 360(%rax), %dl + movb 360(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 361(%rax), %dl + movb 361(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 362(%rax), %dl + movb 362(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 363(%rax), %dl + movb 363(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 364(%rax), %dl + movb 364(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 365(%rax), %dl + movb 365(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 366(%rax), %dl + movb 366(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 367(%rax), %dl + movb 367(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 368(%rax), %dl + movb 368(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 369(%rax), %dl + movb 369(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 370(%rax), %dl + movb 370(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 371(%rax), %dl + movb 371(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 372(%rax), %dl + movb 372(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 373(%rax), %dl + movb 373(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 374(%rax), %dl + movb 374(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 375(%rax), %dl + movb 375(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 376(%rax), %dl + movb 376(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 377(%rax), %dl + movb 377(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 378(%rax), %dl + movb 378(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 379(%rax), %dl + movb 379(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 380(%rax), %dl + movb 380(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 381(%rax), %dl + movb 381(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 382(%rax), %dl + movb 382(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 383(%rax), %dl + movb 383(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 384(%rax), %dl + movb 384(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 385(%rax), %dl + movb 385(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 386(%rax), %dl + movb 386(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 387(%rax), %dl + movb 387(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 388(%rax), %dl + movb 388(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 389(%rax), %dl + movb 389(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 390(%rax), %dl + movb 390(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 391(%rax), %dl + movb 391(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 392(%rax), %dl + movb 392(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 393(%rax), %dl + movb 393(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 394(%rax), %dl + movb 394(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 395(%rax), %dl + movb 395(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 396(%rax), %dl + movb 396(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 397(%rax), %dl + movb 397(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 398(%rax), %dl + movb 398(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 399(%rax), %dl + movb 399(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 400(%rax), %dl + movb 400(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 401(%rax), %dl + movb 401(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 402(%rax), %dl + movb 402(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 403(%rax), %dl + movb 403(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 404(%rax), %dl + movb 404(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 405(%rax), %dl + movb 405(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 406(%rax), %dl + movb 406(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 407(%rax), %dl + movb 407(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 408(%rax), %dl + movb 408(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 409(%rax), %dl + movb 409(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 410(%rax), %dl + movb 410(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 411(%rax), %dl + movb 411(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 412(%rax), %dl + movb 412(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 413(%rax), %dl + movb 413(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 414(%rax), %dl + movb 414(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 415(%rax), %dl + movb 415(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 416(%rax), %dl + movb 416(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 417(%rax), %dl + movb 417(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 418(%rax), %dl + movb 418(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 419(%rax), %dl + movb 419(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 420(%rax), %dl + movb 420(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 421(%rax), %dl + movb 421(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 422(%rax), %dl + movb 422(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 423(%rax), %dl + movb 423(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 424(%rax), %dl + movb 424(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 425(%rax), %dl + movb 425(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 426(%rax), %dl + movb 426(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 427(%rax), %dl + movb 427(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 428(%rax), %dl + movb 428(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 429(%rax), %dl + movb 429(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 430(%rax), %dl + movb 430(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 431(%rax), %dl + movb 431(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 432(%rax), %dl + movb 432(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 433(%rax), %dl + movb 433(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 434(%rax), %dl + movb 434(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 435(%rax), %dl + movb 435(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 436(%rax), %dl + movb 436(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 437(%rax), %dl + movb 437(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 438(%rax), %dl + movb 438(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 439(%rax), %dl + movb 439(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 440(%rax), %dl + movb 440(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 441(%rax), %dl + movb 441(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 442(%rax), %dl + movb 442(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 443(%rax), %dl + movb 443(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 444(%rax), %dl + movb 444(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 445(%rax), %dl + movb 445(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 446(%rax), %dl + movb 446(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 447(%rax), %dl + movb 447(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 448(%rax), %dl + movb 448(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 449(%rax), %dl + movb 449(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 450(%rax), %dl + movb 450(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 451(%rax), %dl + movb 451(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 452(%rax), %dl + movb 452(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 453(%rax), %dl + movb 453(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 454(%rax), %dl + movb 454(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 455(%rax), %dl + movb 455(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 456(%rax), %dl + movb 456(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 457(%rax), %dl + movb 457(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 458(%rax), %dl + movb 458(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 459(%rax), %dl + movb 459(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 460(%rax), %dl + movb 460(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 461(%rax), %dl + movb 461(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 462(%rax), %dl + movb 462(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 463(%rax), %dl + movb 463(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 464(%rax), %dl + movb 464(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 465(%rax), %dl + movb 465(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 466(%rax), %dl + movb 466(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 467(%rax), %dl + movb 467(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 468(%rax), %dl + movb 468(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 469(%rax), %dl + movb 469(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 470(%rax), %dl + movb 470(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 471(%rax), %dl + movb 471(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 472(%rax), %dl + movb 472(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 473(%rax), %dl + movb 473(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 474(%rax), %dl + movb 474(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 475(%rax), %dl + movb 475(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 476(%rax), %dl + movb 476(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 477(%rax), %dl + movb 477(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 478(%rax), %dl + movb 478(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 479(%rax), %dl + movb 479(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 480(%rax), %dl + movb 480(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 481(%rax), %dl + movb 481(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 482(%rax), %dl + movb 482(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 483(%rax), %dl + movb 483(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 484(%rax), %dl + movb 484(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 485(%rax), %dl + movb 485(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 486(%rax), %dl + movb 486(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 487(%rax), %dl + movb 487(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 488(%rax), %dl + movb 488(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 489(%rax), %dl + movb 489(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 490(%rax), %dl + movb 490(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 491(%rax), %dl + movb 491(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 492(%rax), %dl + movb 492(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 493(%rax), %dl + movb 493(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 494(%rax), %dl + movb 494(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 495(%rax), %dl + movb 495(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 496(%rax), %dl + movb 496(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 497(%rax), %dl + movb 497(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 498(%rax), %dl + movb 498(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 499(%rax), %dl + movb 499(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 500(%rax), %dl + movb 500(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 501(%rax), %dl + movb 501(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 502(%rax), %dl + movb 502(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 503(%rax), %dl + movb 503(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 504(%rax), %dl + movb 504(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 505(%rax), %dl + movb 505(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 506(%rax), %dl + movb 506(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 507(%rax), %dl + movb 507(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 508(%rax), %dl + movb 508(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 509(%rax), %dl + movb 509(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 510(%rax), %dl + movb 510(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 511(%rax), %dl + movb 511(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 512(%rax), %dl + movb 512(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 513(%rax), %dl + movb 513(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 514(%rax), %dl + movb 514(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 515(%rax), %dl + movb 515(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 516(%rax), %dl + movb 516(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 517(%rax), %dl + movb 517(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 518(%rax), %dl + movb 518(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 519(%rax), %dl + movb 519(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 520(%rax), %dl + movb 520(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 521(%rax), %dl + movb 521(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 522(%rax), %dl + movb 522(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 523(%rax), %dl + movb 523(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 524(%rax), %dl + movb 524(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 525(%rax), %dl + movb 525(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 526(%rax), %dl + movb 526(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 527(%rax), %dl + movb 527(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 528(%rax), %dl + movb 528(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 529(%rax), %dl + movb 529(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 530(%rax), %dl + movb 530(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 531(%rax), %dl + movb 531(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 532(%rax), %dl + movb 532(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 533(%rax), %dl + movb 533(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 534(%rax), %dl + movb 534(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 535(%rax), %dl + movb 535(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 536(%rax), %dl + movb 536(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 537(%rax), %dl + movb 537(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 538(%rax), %dl + movb 538(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 539(%rax), %dl + movb 539(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 540(%rax), %dl + movb 540(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 541(%rax), %dl + movb 541(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 542(%rax), %dl + movb 542(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 543(%rax), %dl + movb 543(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 544(%rax), %dl + movb 544(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 545(%rax), %dl + movb 545(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 546(%rax), %dl + movb 546(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 547(%rax), %dl + movb 547(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 548(%rax), %dl + movb 548(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 549(%rax), %dl + movb 549(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 550(%rax), %dl + movb 550(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 551(%rax), %dl + movb 551(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 552(%rax), %dl + movb 552(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 553(%rax), %dl + movb 553(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 554(%rax), %dl + movb 554(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 555(%rax), %dl + movb 555(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 556(%rax), %dl + movb 556(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 557(%rax), %dl + movb 557(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 558(%rax), %dl + movb 558(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 559(%rax), %dl + movb 559(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 560(%rax), %dl + movb 560(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 561(%rax), %dl + movb 561(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 562(%rax), %dl + movb 562(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 563(%rax), %dl + movb 563(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 564(%rax), %dl + movb 564(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 565(%rax), %dl + movb 565(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 566(%rax), %dl + movb 566(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 567(%rax), %dl + movb 567(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 568(%rax), %dl + movb 568(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 569(%rax), %dl + movb 569(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 570(%rax), %dl + movb 570(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 571(%rax), %dl + movb 571(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 572(%rax), %dl + movb 572(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 573(%rax), %dl + movb 573(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 574(%rax), %dl + movb 574(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 575(%rax), %dl + movb 575(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 576(%rax), %dl + movb 576(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 577(%rax), %dl + movb 577(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 578(%rax), %dl + movb 578(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 579(%rax), %dl + movb 579(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 580(%rax), %dl + movb 580(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 581(%rax), %dl + movb 581(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 582(%rax), %dl + movb 582(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 583(%rax), %dl + movb 583(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 584(%rax), %dl + movb 584(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 585(%rax), %dl + movb 585(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 586(%rax), %dl + movb 586(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 587(%rax), %dl + movb 587(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 588(%rax), %dl + movb 588(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 589(%rax), %dl + movb 589(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 590(%rax), %dl + movb 590(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 591(%rax), %dl + movb 591(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 592(%rax), %dl + movb 592(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 593(%rax), %dl + movb 593(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 594(%rax), %dl + movb 594(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 595(%rax), %dl + movb 595(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 596(%rax), %dl + movb 596(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 597(%rax), %dl + movb 597(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 598(%rax), %dl + movb 598(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 599(%rax), %dl + movb 599(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 600(%rax), %dl + movb 600(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 601(%rax), %dl + movb 601(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 602(%rax), %dl + movb 602(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 603(%rax), %dl + movb 603(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 604(%rax), %dl + movb 604(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 605(%rax), %dl + movb 605(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 606(%rax), %dl + movb 606(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 607(%rax), %dl + movb 607(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 608(%rax), %dl + movb 608(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 609(%rax), %dl + movb 609(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 610(%rax), %dl + movb 610(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 611(%rax), %dl + movb 611(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 612(%rax), %dl + movb 612(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 613(%rax), %dl + movb 613(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 614(%rax), %dl + movb 614(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 615(%rax), %dl + movb 615(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 616(%rax), %dl + movb 616(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 617(%rax), %dl + movb 617(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 618(%rax), %dl + movb 618(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 619(%rax), %dl + movb 619(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 620(%rax), %dl + movb 620(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 621(%rax), %dl + movb 621(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 622(%rax), %dl + movb 622(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 623(%rax), %dl + movb 623(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 624(%rax), %dl + movb 624(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 625(%rax), %dl + movb 625(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 626(%rax), %dl + movb 626(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 627(%rax), %dl + movb 627(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 628(%rax), %dl + movb 628(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 629(%rax), %dl + movb 629(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 630(%rax), %dl + movb 630(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 631(%rax), %dl + movb 631(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 632(%rax), %dl + movb 632(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 633(%rax), %dl + movb 633(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 634(%rax), %dl + movb 634(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 635(%rax), %dl + movb 635(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 636(%rax), %dl + movb 636(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 637(%rax), %dl + movb 637(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 638(%rax), %dl + movb 638(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 639(%rax), %dl + movb 639(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 640(%rax), %dl + movb 640(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 641(%rax), %dl + movb 641(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 642(%rax), %dl + movb 642(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 643(%rax), %dl + movb 643(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 644(%rax), %dl + movb 644(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 645(%rax), %dl + movb 645(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 646(%rax), %dl + movb 646(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 647(%rax), %dl + movb 647(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 648(%rax), %dl + movb 648(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 649(%rax), %dl + movb 649(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 650(%rax), %dl + movb 650(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 651(%rax), %dl + movb 651(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 652(%rax), %dl + movb 652(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 653(%rax), %dl + movb 653(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 654(%rax), %dl + movb 654(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 655(%rax), %dl + movb 655(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 656(%rax), %dl + movb 656(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 657(%rax), %dl + movb 657(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 658(%rax), %dl + movb 658(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 659(%rax), %dl + movb 659(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 660(%rax), %dl + movb 660(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 661(%rax), %dl + movb 661(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 662(%rax), %dl + movb 662(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 663(%rax), %dl + movb 663(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 664(%rax), %dl + movb 664(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 665(%rax), %dl + movb 665(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 666(%rax), %dl + movb 666(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 667(%rax), %dl + movb 667(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 668(%rax), %dl + movb 668(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 669(%rax), %dl + movb 669(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 670(%rax), %dl + movb 670(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 671(%rax), %dl + movb 671(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 672(%rax), %dl + movb 672(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 673(%rax), %dl + movb 673(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 674(%rax), %dl + movb 674(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 675(%rax), %dl + movb 675(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 676(%rax), %dl + movb 676(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 677(%rax), %dl + movb 677(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 678(%rax), %dl + movb 678(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 679(%rax), %dl + movb 679(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 680(%rax), %dl + movb 680(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 681(%rax), %dl + movb 681(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 682(%rax), %dl + movb 682(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 683(%rax), %dl + movb 683(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 684(%rax), %dl + movb 684(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 685(%rax), %dl + movb 685(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 686(%rax), %dl + movb 686(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 687(%rax), %dl + movb 687(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 688(%rax), %dl + movb 688(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 689(%rax), %dl + movb 689(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 690(%rax), %dl + movb 690(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 691(%rax), %dl + movb 691(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 692(%rax), %dl + movb 692(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 693(%rax), %dl + movb 693(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 694(%rax), %dl + movb 694(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 695(%rax), %dl + movb 695(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 696(%rax), %dl + movb 696(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 697(%rax), %dl + movb 697(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 698(%rax), %dl + movb 698(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 699(%rax), %dl + movb 699(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 700(%rax), %dl + movb 700(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 701(%rax), %dl + movb 701(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 702(%rax), %dl + movb 702(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 703(%rax), %dl + movb 703(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 704(%rax), %dl + movb 704(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 705(%rax), %dl + movb 705(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 706(%rax), %dl + movb 706(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 707(%rax), %dl + movb 707(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 708(%rax), %dl + movb 708(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 709(%rax), %dl + movb 709(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 710(%rax), %dl + movb 710(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 711(%rax), %dl + movb 711(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 712(%rax), %dl + movb 712(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 713(%rax), %dl + movb 713(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 714(%rax), %dl + movb 714(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 715(%rax), %dl + movb 715(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 716(%rax), %dl + movb 716(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 717(%rax), %dl + movb 717(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 718(%rax), %dl + movb 718(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 719(%rax), %dl + movb 719(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 720(%rax), %dl + movb 720(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 721(%rax), %dl + movb 721(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 722(%rax), %dl + movb 722(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 723(%rax), %dl + movb 723(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 724(%rax), %dl + movb 724(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 725(%rax), %dl + movb 725(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 726(%rax), %dl + movb 726(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 727(%rax), %dl + movb 727(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 728(%rax), %dl + movb 728(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 729(%rax), %dl + movb 729(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 730(%rax), %dl + movb 730(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 731(%rax), %dl + movb 731(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 732(%rax), %dl + movb 732(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 733(%rax), %dl + movb 733(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 734(%rax), %dl + movb 734(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 735(%rax), %dl + movb 735(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 736(%rax), %dl + movb 736(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 737(%rax), %dl + movb 737(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 738(%rax), %dl + movb 738(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 739(%rax), %dl + movb 739(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 740(%rax), %dl + movb 740(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 741(%rax), %dl + movb 741(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 742(%rax), %dl + movb 742(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 743(%rax), %dl + movb 743(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 744(%rax), %dl + movb 744(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 745(%rax), %dl + movb 745(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 746(%rax), %dl + movb 746(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 747(%rax), %dl + movb 747(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 748(%rax), %dl + movb 748(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 749(%rax), %dl + movb 749(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 750(%rax), %dl + movb 750(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 751(%rax), %dl + movb 751(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 752(%rax), %dl + movb 752(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 753(%rax), %dl + movb 753(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 754(%rax), %dl + movb 754(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 755(%rax), %dl + movb 755(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 756(%rax), %dl + movb 756(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 757(%rax), %dl + movb 757(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 758(%rax), %dl + movb 758(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 759(%rax), %dl + movb 759(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 760(%rax), %dl + movb 760(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 761(%rax), %dl + movb 761(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 762(%rax), %dl + movb 762(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 763(%rax), %dl + movb 763(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 764(%rax), %dl + movb 764(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 765(%rax), %dl + movb 765(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 766(%rax), %dl + movb 766(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 767(%rax), %al + movb 767(%rsi), %dl + xorb %dl, %al + movzbq %al, %rax + orq %rax, %rcx + negq %rcx + shrq $63, %rcx + movq 16(%rsp), %rax + addq $64, %rax + addq $1536, %rax + leaq 152(%rsp), %rdx + negq %rcx + movb (%rdx), %dil + movb (%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, (%rdx) + movb 1(%rdx), %dil + movb 1(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 1(%rdx) + movb 2(%rdx), %dil + movb 2(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 2(%rdx) + movb 3(%rdx), %dil + movb 3(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 3(%rdx) + movb 4(%rdx), %dil + movb 4(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 4(%rdx) + movb 5(%rdx), %dil + movb 5(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 5(%rdx) + movb 6(%rdx), %dil + movb 6(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 6(%rdx) + movb 7(%rdx), %dil + movb 7(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 7(%rdx) + movb 8(%rdx), %dil + movb 8(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 8(%rdx) + movb 9(%rdx), %dil + movb 9(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 9(%rdx) + movb 10(%rdx), %dil + movb 10(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 10(%rdx) + movb 11(%rdx), %dil + movb 11(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 11(%rdx) + movb 12(%rdx), %dil + movb 12(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 12(%rdx) + movb 13(%rdx), %dil + movb 13(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 13(%rdx) + movb 14(%rdx), %dil + movb 14(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 14(%rdx) + movb 15(%rdx), %dil + movb 15(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 15(%rdx) + movb 16(%rdx), %dil + movb 16(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 16(%rdx) + movb 17(%rdx), %dil + movb 17(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 17(%rdx) + movb 18(%rdx), %dil + movb 18(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 18(%rdx) + movb 19(%rdx), %dil + movb 19(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 19(%rdx) + movb 20(%rdx), %dil + movb 20(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 20(%rdx) + movb 21(%rdx), %dil + movb 21(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 21(%rdx) + movb 22(%rdx), %dil + movb 22(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 22(%rdx) + movb 23(%rdx), %dil + movb 23(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 23(%rdx) + movb 24(%rdx), %dil + movb 24(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 24(%rdx) + movb 25(%rdx), %dil + movb 25(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 25(%rdx) + movb 26(%rdx), %dil + movb 26(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 26(%rdx) + movb 27(%rdx), %dil + movb 27(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 27(%rdx) + movb 28(%rdx), %dil + movb 28(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 28(%rdx) + movb 29(%rdx), %dil + movb 29(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 29(%rdx) + movb 30(%rdx), %dil + movb 30(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 30(%rdx) + movb 31(%rdx), %dil + movb 31(%rax), %al + xorb %dil, %al + andb %cl, %al + xorb %al, %dil + movb %dil, 31(%rdx) + movq $768, %rcx + leaq 184(%rsp), %rax + leaq -232(%rsp), %rsp + call L_sha3_256$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$2: + leaq 232(%rsp), %rsp + movq (%rsp), %rax + movq $32, %rcx + leaq 152(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_shake256_64$1 +Ljade_kem_kyber_kyber512_amd64_ref_dec$1: + leaq 216(%rsp), %rsp + xorq %rax, %rax + movq 9584(%rsp), %r14 + movq 9592(%rsp), %r13 + movq 9600(%rsp), %r12 + movq 9608(%rsp), %rbp + movq 9616(%rsp), %rbx + movq 9624(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_ref_enc: +jade_kem_kyber_kyber512_amd64_ref_enc: + movq %rsp, %rax + leaq -80(%rsp), %rsp + andq $-16, %rsp + movq %rax, 72(%rsp) + movq %r14, 32(%rsp) + movq %r13, 40(%rsp) + movq %r12, 48(%rsp) + movq %rbp, 56(%rsp) + movq %rbx, 64(%rsp) + movq %rdi, %rbx + movq %rsi, %rbp + movq %rdx, %r12 + movq %rsp, %rdi + movq $32, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rcx + leaq -8800(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_ref_enc$1: + leaq 8800(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r14 + movq 40(%rsp), %r13 + movq 48(%rsp), %r12 + movq 56(%rsp), %rbp + movq 64(%rsp), %rbx + movq 72(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_ref_enc_derand: +jade_kem_kyber_kyber512_amd64_ref_enc_derand: + movq %rsp, %rax + leaq -80(%rsp), %rsp + andq $-8, %rsp + movq %rax, 72(%rsp) + movq %r14, 32(%rsp) + movq %r13, 40(%rsp) + movq %r12, 48(%rsp) + movq %rbp, 56(%rsp) + movq %rbx, 64(%rsp) + movq %rdi, %rbx + movq %rsi, %rbp + movq %rdx, %r12 + movq %rsp, %rax + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + movq %rsp, %rcx + leaq -8800(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_ref_enc_derand$1: + leaq 8800(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r14 + movq 40(%rsp), %r13 + movq 48(%rsp), %r12 + movq 56(%rsp), %rbp + movq 64(%rsp), %rbx + movq 72(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_ref_keypair: +jade_kem_kyber_kyber512_amd64_ref_keypair: + movq %rsp, %rax + leaq -112(%rsp), %rsp + andq $-16, %rsp + movq %rax, 104(%rsp) + movq %r14, 64(%rsp) + movq %r13, 72(%rsp) + movq %r12, 80(%rsp) + movq %rbp, 88(%rsp) + movq %rbx, 96(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rdi + movq $64, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rax + leaq -6224(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_ref_keypair$1: + leaq 6224(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r14 + movq 72(%rsp), %r13 + movq 80(%rsp), %r12 + movq 88(%rsp), %rbp + movq 96(%rsp), %rbx + movq 104(%rsp), %rsp + ret +_jade_kem_kyber_kyber512_amd64_ref_keypair_derand: +jade_kem_kyber_kyber512_amd64_ref_keypair_derand: + movq %rsp, %rax + leaq -112(%rsp), %rsp + andq $-8, %rsp + movq %rax, 104(%rsp) + movq %r14, 64(%rsp) + movq %r13, 72(%rsp) + movq %r12, 80(%rsp) + movq %rbp, 88(%rsp) + movq %rbx, 96(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rax + movb (%rdx), %cl + movb %cl, (%rax) + movb 1(%rdx), %cl + movb %cl, 1(%rax) + movb 2(%rdx), %cl + movb %cl, 2(%rax) + movb 3(%rdx), %cl + movb %cl, 3(%rax) + movb 4(%rdx), %cl + movb %cl, 4(%rax) + movb 5(%rdx), %cl + movb %cl, 5(%rax) + movb 6(%rdx), %cl + movb %cl, 6(%rax) + movb 7(%rdx), %cl + movb %cl, 7(%rax) + movb 8(%rdx), %cl + movb %cl, 8(%rax) + movb 9(%rdx), %cl + movb %cl, 9(%rax) + movb 10(%rdx), %cl + movb %cl, 10(%rax) + movb 11(%rdx), %cl + movb %cl, 11(%rax) + movb 12(%rdx), %cl + movb %cl, 12(%rax) + movb 13(%rdx), %cl + movb %cl, 13(%rax) + movb 14(%rdx), %cl + movb %cl, 14(%rax) + movb 15(%rdx), %cl + movb %cl, 15(%rax) + movb 16(%rdx), %cl + movb %cl, 16(%rax) + movb 17(%rdx), %cl + movb %cl, 17(%rax) + movb 18(%rdx), %cl + movb %cl, 18(%rax) + movb 19(%rdx), %cl + movb %cl, 19(%rax) + movb 20(%rdx), %cl + movb %cl, 20(%rax) + movb 21(%rdx), %cl + movb %cl, 21(%rax) + movb 22(%rdx), %cl + movb %cl, 22(%rax) + movb 23(%rdx), %cl + movb %cl, 23(%rax) + movb 24(%rdx), %cl + movb %cl, 24(%rax) + movb 25(%rdx), %cl + movb %cl, 25(%rax) + movb 26(%rdx), %cl + movb %cl, 26(%rax) + movb 27(%rdx), %cl + movb %cl, 27(%rax) + movb 28(%rdx), %cl + movb %cl, 28(%rax) + movb 29(%rdx), %cl + movb %cl, 29(%rax) + movb 30(%rdx), %cl + movb %cl, 30(%rax) + movb 31(%rdx), %cl + movb %cl, 31(%rax) + movb 32(%rdx), %cl + movb %cl, 32(%rax) + movb 33(%rdx), %cl + movb %cl, 33(%rax) + movb 34(%rdx), %cl + movb %cl, 34(%rax) + movb 35(%rdx), %cl + movb %cl, 35(%rax) + movb 36(%rdx), %cl + movb %cl, 36(%rax) + movb 37(%rdx), %cl + movb %cl, 37(%rax) + movb 38(%rdx), %cl + movb %cl, 38(%rax) + movb 39(%rdx), %cl + movb %cl, 39(%rax) + movb 40(%rdx), %cl + movb %cl, 40(%rax) + movb 41(%rdx), %cl + movb %cl, 41(%rax) + movb 42(%rdx), %cl + movb %cl, 42(%rax) + movb 43(%rdx), %cl + movb %cl, 43(%rax) + movb 44(%rdx), %cl + movb %cl, 44(%rax) + movb 45(%rdx), %cl + movb %cl, 45(%rax) + movb 46(%rdx), %cl + movb %cl, 46(%rax) + movb 47(%rdx), %cl + movb %cl, 47(%rax) + movb 48(%rdx), %cl + movb %cl, 48(%rax) + movb 49(%rdx), %cl + movb %cl, 49(%rax) + movb 50(%rdx), %cl + movb %cl, 50(%rax) + movb 51(%rdx), %cl + movb %cl, 51(%rax) + movb 52(%rdx), %cl + movb %cl, 52(%rax) + movb 53(%rdx), %cl + movb %cl, 53(%rax) + movb 54(%rdx), %cl + movb %cl, 54(%rax) + movb 55(%rdx), %cl + movb %cl, 55(%rax) + movb 56(%rdx), %cl + movb %cl, 56(%rax) + movb 57(%rdx), %cl + movb %cl, 57(%rax) + movb 58(%rdx), %cl + movb %cl, 58(%rax) + movb 59(%rdx), %cl + movb %cl, 59(%rax) + movb 60(%rdx), %cl + movb %cl, 60(%rax) + movb 61(%rdx), %cl + movb %cl, 61(%rax) + movb 62(%rdx), %cl + movb %cl, 62(%rax) + movb 63(%rdx), %cl + movb %cl, 63(%rax) + movq %rsp, %rax + leaq -6224(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber512_amd64_ref_keypair_derand$1: + leaq 6224(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r14 + movq 72(%rsp), %r13 + movq 80(%rsp), %r12 + movq 88(%rsp), %rbp + movq 96(%rsp), %rbx + movq 104(%rsp), %rsp + ret +L__crypto_kem_enc_derand_jazz$1: + movq %r12, 8(%rsp) + movq %rbx, 16(%rsp) + movq %rbp, 24(%rsp) + leaq 80(%rsp), %rax + leaq -208(%rsp), %rsp + call L_sha3_256_32$1 +L__crypto_kem_enc_derand_jazz$111: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rsi + movq $800, %rcx + leaq 112(%rsp), %rax + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$110: + leaq 232(%rsp), %rsp + leaq 144(%rsp), %rax + leaq 80(%rsp), %rcx + leaq -208(%rsp), %rsp + call L_sha3_512_64$1 +L__crypto_kem_enc_derand_jazz$109: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rdx + leaq 80(%rsp), %rcx + leaq 176(%rsp), %rax + movq %rdx, %rsi + leaq 2456(%rsp), %rdi + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$108: + addq $384, %rsi + leaq 2968(%rsp), %rdi + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$107: + movq $0, %rsi + addq $768, %rdx + jmp L__crypto_kem_enc_derand_jazz$105 +L__crypto_kem_enc_derand_jazz$106: + movq (%rdx), %rdi + movq %rdi, 48(%rsp,%rsi,8) + addq $8, %rdx + incq %rsi +L__crypto_kem_enc_derand_jazz$105: + cmpq $4, %rsi + jb L__crypto_kem_enc_derand_jazz$106 + leaq 920(%rsp), %rdx + call L_i_poly_frommsg$1 +L__crypto_kem_enc_derand_jazz$104: + movq %rax, 8(%rsp) + movq $1, %rax + movq %rax, 32(%rsp) + movb 48(%rsp), %al + movb %al, 8600(%rsp) + movb 49(%rsp), %al + movb %al, 8601(%rsp) + movb 50(%rsp), %al + movb %al, 8602(%rsp) + movb 51(%rsp), %al + movb %al, 8603(%rsp) + movb 52(%rsp), %al + movb %al, 8604(%rsp) + movb 53(%rsp), %al + movb %al, 8605(%rsp) + movb 54(%rsp), %al + movb %al, 8606(%rsp) + movb 55(%rsp), %al + movb %al, 8607(%rsp) + movb 56(%rsp), %al + movb %al, 8608(%rsp) + movb 57(%rsp), %al + movb %al, 8609(%rsp) + movb 58(%rsp), %al + movb %al, 8610(%rsp) + movb 59(%rsp), %al + movb %al, 8611(%rsp) + movb 60(%rsp), %al + movb %al, 8612(%rsp) + movb 61(%rsp), %al + movb %al, 8613(%rsp) + movb 62(%rsp), %al + movb %al, 8614(%rsp) + movb 63(%rsp), %al + movb %al, 8615(%rsp) + movb 64(%rsp), %al + movb %al, 8616(%rsp) + movb 65(%rsp), %al + movb %al, 8617(%rsp) + movb 66(%rsp), %al + movb %al, 8618(%rsp) + movb 67(%rsp), %al + movb %al, 8619(%rsp) + movb 68(%rsp), %al + movb %al, 8620(%rsp) + movb 69(%rsp), %al + movb %al, 8621(%rsp) + movb 70(%rsp), %al + movb %al, 8622(%rsp) + movb 71(%rsp), %al + movb %al, 8623(%rsp) + movb 72(%rsp), %al + movb %al, 8624(%rsp) + movb 73(%rsp), %al + movb %al, 8625(%rsp) + movb 74(%rsp), %al + movb %al, 8626(%rsp) + movb 75(%rsp), %al + movb %al, 8627(%rsp) + movb 76(%rsp), %al + movb %al, 8628(%rsp) + movb 77(%rsp), %al + movb %al, 8629(%rsp) + movb 78(%rsp), %al + movb %al, 8630(%rsp) + movb 79(%rsp), %al + movb %al, 8631(%rsp) + movq 32(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_enc_derand_jazz$102 + movb $0, 8632(%rsp) + movb $0, 8633(%rsp) + jmp L__crypto_kem_enc_derand_jazz$103 +L__crypto_kem_enc_derand_jazz$102: + movb $0, 8632(%rsp) + movb $0, 8633(%rsp) +L__crypto_kem_enc_derand_jazz$103: + leaq 208(%rsp), %rax + leaq 8600(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_enc_derand_jazz$101: + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$99 +L__crypto_kem_enc_derand_jazz$100: + movq %rax, 408(%rsp,%rax,8) + incq %rax +L__crypto_kem_enc_derand_jazz$99: + cmpq $64, %rax + jb L__crypto_kem_enc_derand_jazz$100 + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$91 +L__crypto_kem_enc_derand_jazz$92: + movq %rax, 40(%rsp) + leaq 208(%rsp), %rax + leaq 8634(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_enc_derand_jazz$98: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rax + movq $0, %rcx +L__crypto_kem_enc_derand_jazz$93: + movzbw 8634(%rsp,%rcx), %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_enc_derand_jazz$96 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$96 + movw %dx, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$97: +L__crypto_kem_enc_derand_jazz$96: + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$94 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$94 + movw %di, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$95: +L__crypto_kem_enc_derand_jazz$94: + cmpq $166, %rcx + jb L__crypto_kem_enc_derand_jazz$93 +L__crypto_kem_enc_derand_jazz$91: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$92 + movq $0, %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$89 +L__crypto_kem_enc_derand_jazz$90: + movw 408(%rsp,%rax,2), %dx + movw %dx, 6552(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_enc_derand_jazz$89: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$90 + movq 32(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_enc_derand_jazz$87 + movb $0, 8632(%rsp) + movb $1, 8633(%rsp) + jmp L__crypto_kem_enc_derand_jazz$88 +L__crypto_kem_enc_derand_jazz$87: + movb $1, 8632(%rsp) + movb $0, 8633(%rsp) +L__crypto_kem_enc_derand_jazz$88: + leaq 208(%rsp), %rax + leaq 8600(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_enc_derand_jazz$86: + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$84 +L__crypto_kem_enc_derand_jazz$85: + movq %rax, 408(%rsp,%rax,8) + incq %rax +L__crypto_kem_enc_derand_jazz$84: + cmpq $64, %rax + jb L__crypto_kem_enc_derand_jazz$85 + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$76 +L__crypto_kem_enc_derand_jazz$77: + movq %rax, 40(%rsp) + leaq 208(%rsp), %rax + leaq 8634(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_enc_derand_jazz$83: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rax + movq $0, %rcx +L__crypto_kem_enc_derand_jazz$78: + movzbw 8634(%rsp,%rcx), %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_enc_derand_jazz$81 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$81 + movw %dx, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$82: +L__crypto_kem_enc_derand_jazz$81: + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$79 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$79 + movw %di, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$80: +L__crypto_kem_enc_derand_jazz$79: + cmpq $166, %rcx + jb L__crypto_kem_enc_derand_jazz$78 +L__crypto_kem_enc_derand_jazz$76: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$77 + movq $0, %rax + movq $256, %rcx + jmp L__crypto_kem_enc_derand_jazz$74 +L__crypto_kem_enc_derand_jazz$75: + movw 408(%rsp,%rax,2), %dx + movw %dx, 6552(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_enc_derand_jazz$74: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$75 + movq 32(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_enc_derand_jazz$72 + movb $1, 8632(%rsp) + movb $0, 8633(%rsp) + jmp L__crypto_kem_enc_derand_jazz$73 +L__crypto_kem_enc_derand_jazz$72: + movb $0, 8632(%rsp) + movb $1, 8633(%rsp) +L__crypto_kem_enc_derand_jazz$73: + leaq 208(%rsp), %rax + leaq 8600(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_enc_derand_jazz$71: + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$69 +L__crypto_kem_enc_derand_jazz$70: + movq %rax, 408(%rsp,%rax,8) + incq %rax +L__crypto_kem_enc_derand_jazz$69: + cmpq $64, %rax + jb L__crypto_kem_enc_derand_jazz$70 + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$61 +L__crypto_kem_enc_derand_jazz$62: + movq %rax, 40(%rsp) + leaq 208(%rsp), %rax + leaq 8634(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_enc_derand_jazz$68: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rax + movq $0, %rcx +L__crypto_kem_enc_derand_jazz$63: + movzbw 8634(%rsp,%rcx), %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_enc_derand_jazz$66 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$66 + movw %dx, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$67: +L__crypto_kem_enc_derand_jazz$66: + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$64 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$64 + movw %di, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$65: +L__crypto_kem_enc_derand_jazz$64: + cmpq $166, %rcx + jb L__crypto_kem_enc_derand_jazz$63 +L__crypto_kem_enc_derand_jazz$61: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$62 + movq $0, %rax + movq $512, %rcx + jmp L__crypto_kem_enc_derand_jazz$59 +L__crypto_kem_enc_derand_jazz$60: + movw 408(%rsp,%rax,2), %dx + movw %dx, 6552(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_enc_derand_jazz$59: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$60 + movq 32(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_enc_derand_jazz$57 + movb $1, 8632(%rsp) + movb $1, 8633(%rsp) + jmp L__crypto_kem_enc_derand_jazz$58 +L__crypto_kem_enc_derand_jazz$57: + movb $1, 8632(%rsp) + movb $1, 8633(%rsp) +L__crypto_kem_enc_derand_jazz$58: + leaq 208(%rsp), %rax + leaq 8600(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_enc_derand_jazz$56: + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$54 +L__crypto_kem_enc_derand_jazz$55: + movq %rax, 408(%rsp,%rax,8) + incq %rax +L__crypto_kem_enc_derand_jazz$54: + cmpq $64, %rax + jb L__crypto_kem_enc_derand_jazz$55 + movq $0, %rax + jmp L__crypto_kem_enc_derand_jazz$46 +L__crypto_kem_enc_derand_jazz$47: + movq %rax, 32(%rsp) + leaq 208(%rsp), %rax + leaq 8634(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_enc_derand_jazz$53: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rax + movq $0, %rcx +L__crypto_kem_enc_derand_jazz$48: + movzbw 8634(%rsp,%rcx), %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 8634(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_enc_derand_jazz$51 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$51 + movw %dx, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$52: +L__crypto_kem_enc_derand_jazz$51: + cmpw $3329, %di + jnb L__crypto_kem_enc_derand_jazz$49 + cmpq $256, %rax + jnb L__crypto_kem_enc_derand_jazz$49 + movw %di, 408(%rsp,%rax,2) + incq %rax +L__crypto_kem_enc_derand_jazz$50: +L__crypto_kem_enc_derand_jazz$49: + cmpq $166, %rcx + jb L__crypto_kem_enc_derand_jazz$48 +L__crypto_kem_enc_derand_jazz$46: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$47 + movq $0, %rax + movq $768, %rcx + jmp L__crypto_kem_enc_derand_jazz$44 +L__crypto_kem_enc_derand_jazz$45: + movw 408(%rsp,%rax,2), %dx + movw %dx, 6552(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_enc_derand_jazz$44: + cmpq $256, %rax + jb L__crypto_kem_enc_derand_jazz$45 + movq 8(%rsp), %rcx + movb $0, %al + leaq 3480(%rsp), %rdx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_enc_derand_jazz$43: + leaq 240(%rsp), %rsp + movq 8(%rsp), %rcx + movb $1, %al + leaq 3992(%rsp), %rdx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_enc_derand_jazz$42: + leaq 240(%rsp), %rsp + movq 8(%rsp), %rax + movb $2, %cl + leaq 4504(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +L__crypto_kem_enc_derand_jazz$41: + leaq 176(%rsp), %rsp + movq 8(%rsp), %rax + movb $3, %cl + leaq 5016(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +L__crypto_kem_enc_derand_jazz$40: + leaq 176(%rsp), %rsp + movq 8(%rsp), %rax + movb $4, %cl + leaq 408(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise_eta2$1 +L__crypto_kem_enc_derand_jazz$39: + leaq 176(%rsp), %rsp + leaq 3480(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$38: + leaq 3992(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$37: + leaq 5528(%rsp), %rdi + leaq 6552(%rsp), %rcx + leaq 3480(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$36: + leaq 16(%rsp), %rsp + leaq 1432(%rsp), %rdi + leaq 7064(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$35: + leaq 16(%rsp), %rsp + leaq 5528(%rsp), %rcx + leaq 1432(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$34: + leaq 5528(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$32 +L__crypto_kem_enc_derand_jazz$33: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$32: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$33 + leaq 6040(%rsp), %rdi + leaq 7576(%rsp), %rcx + leaq 3480(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$31: + leaq 16(%rsp), %rsp + leaq 1432(%rsp), %rdi + leaq 8088(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$30: + leaq 16(%rsp), %rsp + leaq 6040(%rsp), %rcx + leaq 1432(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$29: + leaq 6040(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$27 +L__crypto_kem_enc_derand_jazz$28: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$27: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$28 + leaq 1432(%rsp), %rdi + leaq 2456(%rsp), %rcx + leaq 3480(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$26: + leaq 16(%rsp), %rsp + leaq 1944(%rsp), %rdi + leaq 2968(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$25: + leaq 16(%rsp), %rsp + leaq 1432(%rsp), %rcx + leaq 1944(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$24: + leaq 1432(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$22 +L__crypto_kem_enc_derand_jazz$23: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$22: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$23 + leaq 5528(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$21: + leaq 6040(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$20: + leaq 1432(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$19: + leaq 5528(%rsp), %rcx + leaq 4504(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$18: + leaq 6040(%rsp), %rcx + leaq 5016(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$17: + leaq 1432(%rsp), %rcx + leaq 408(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$16: + leaq 1432(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$15: + leaq 5528(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$13 +L__crypto_kem_enc_derand_jazz$14: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$13: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$14 + leaq 6040(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$11 +L__crypto_kem_enc_derand_jazz$12: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$11: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$12 + leaq 1432(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_enc_derand_jazz$9 +L__crypto_kem_enc_derand_jazz$10: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_enc_derand_jazz$9: + cmpq $256, %rcx + jb L__crypto_kem_enc_derand_jazz$10 + movq 16(%rsp), %rax + movq $0, %rdx + movq $0, %rsi + leaq 5528(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$8: + leaq 6040(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$7: + jmp L__crypto_kem_enc_derand_jazz$5 +L__crypto_kem_enc_derand_jazz$6: + movzwq 5528(%rsp,%rdx,2), %rcx + incq %rdx + shlq $10, %rcx + addq $1665, %rcx + imulq $1290167, %rcx, %rcx + shrq $32, %rcx + andq $1023, %rcx + movzwq 5528(%rsp,%rdx,2), %rdi + incq %rdx + shlq $10, %rdi + addq $1665, %rdi + imulq $1290167, %rdi, %rdi + shrq $32, %rdi + andq $1023, %rdi + movzwq 5528(%rsp,%rdx,2), %r8 + incq %rdx + shlq $10, %r8 + addq $1665, %r8 + imulq $1290167, %r8, %r8 + shrq $32, %r8 + andq $1023, %r8 + movzwq 5528(%rsp,%rdx,2), %r9 + incq %rdx + shlq $10, %r9 + addq $1665, %r9 + imulq $1290167, %r9, %r9 + shrq $32, %r9 + andq $1023, %r9 + movw %cx, %r10w + andw $255, %r10w + movb %r10b, (%rax,%rsi) + incq %rsi + shrw $8, %cx + movw %di, %r10w + shlw $2, %r10w + orw %cx, %r10w + movb %r10b, (%rax,%rsi) + incq %rsi + shrw $6, %di + movw %r8w, %cx + shlw $4, %cx + orw %di, %cx + movb %cl, (%rax,%rsi) + incq %rsi + shrw $4, %r8w + movw %r9w, %cx + shlw $6, %cx + orw %r8w, %cx + movb %cl, (%rax,%rsi) + incq %rsi + shrq $2, %r9 + movb %r9b, (%rax,%rsi) + incq %rsi +L__crypto_kem_enc_derand_jazz$5: + cmpq $512, %rdx + jb L__crypto_kem_enc_derand_jazz$6 + addq $640, %rax + leaq 1432(%rsp), %rcx + call L_poly_compress$1 +L__crypto_kem_enc_derand_jazz$4: + movq 16(%rsp), %rsi + movq $768, %rcx + leaq 176(%rsp), %rax + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$3: + leaq 232(%rsp), %rsp + movq 24(%rsp), %rax + movq $32, %rcx + leaq 144(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_shake256_64$1 +L__crypto_kem_enc_derand_jazz$2: + leaq 216(%rsp), %rsp + ret +L__crypto_kem_keypair_derand_jazz$1: + movq %rax, 8(%rsp) + movq %rbp, 16(%rsp) + movq %rbx, 24(%rsp) + movq %rax, %rcx + movq %rbp, 32(%rsp) + movq %rbx, 40(%rsp) + leaq 128(%rsp), %rax + leaq -208(%rsp), %rsp + call L_sha3_512_32$1 +L__crypto_kem_keypair_derand_jazz$93: + leaq 208(%rsp), %rsp + movq 128(%rsp), %rax + movq %rax, 96(%rsp) + movq 160(%rsp), %rax + movq %rax, 64(%rsp) + movq 136(%rsp), %rax + movq %rax, 104(%rsp) + movq 168(%rsp), %rax + movq %rax, 72(%rsp) + movq 144(%rsp), %rax + movq %rax, 112(%rsp) + movq 176(%rsp), %rax + movq %rax, 80(%rsp) + movq 152(%rsp), %rax + movq %rax, 120(%rsp) + movq 184(%rsp), %rax + movq %rax, 88(%rsp) + movq $0, %rax + movq %rax, 48(%rsp) + movb 96(%rsp), %al + movb %al, 6024(%rsp) + movb 97(%rsp), %al + movb %al, 6025(%rsp) + movb 98(%rsp), %al + movb %al, 6026(%rsp) + movb 99(%rsp), %al + movb %al, 6027(%rsp) + movb 100(%rsp), %al + movb %al, 6028(%rsp) + movb 101(%rsp), %al + movb %al, 6029(%rsp) + movb 102(%rsp), %al + movb %al, 6030(%rsp) + movb 103(%rsp), %al + movb %al, 6031(%rsp) + movb 104(%rsp), %al + movb %al, 6032(%rsp) + movb 105(%rsp), %al + movb %al, 6033(%rsp) + movb 106(%rsp), %al + movb %al, 6034(%rsp) + movb 107(%rsp), %al + movb %al, 6035(%rsp) + movb 108(%rsp), %al + movb %al, 6036(%rsp) + movb 109(%rsp), %al + movb %al, 6037(%rsp) + movb 110(%rsp), %al + movb %al, 6038(%rsp) + movb 111(%rsp), %al + movb %al, 6039(%rsp) + movb 112(%rsp), %al + movb %al, 6040(%rsp) + movb 113(%rsp), %al + movb %al, 6041(%rsp) + movb 114(%rsp), %al + movb %al, 6042(%rsp) + movb 115(%rsp), %al + movb %al, 6043(%rsp) + movb 116(%rsp), %al + movb %al, 6044(%rsp) + movb 117(%rsp), %al + movb %al, 6045(%rsp) + movb 118(%rsp), %al + movb %al, 6046(%rsp) + movb 119(%rsp), %al + movb %al, 6047(%rsp) + movb 120(%rsp), %al + movb %al, 6048(%rsp) + movb 121(%rsp), %al + movb %al, 6049(%rsp) + movb 122(%rsp), %al + movb %al, 6050(%rsp) + movb 123(%rsp), %al + movb %al, 6051(%rsp) + movb 124(%rsp), %al + movb %al, 6052(%rsp) + movb 125(%rsp), %al + movb %al, 6053(%rsp) + movb 126(%rsp), %al + movb %al, 6054(%rsp) + movb 127(%rsp), %al + movb %al, 6055(%rsp) + movq 48(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_keypair_derand_jazz$91 + movb $0, 6056(%rsp) + movb $0, 6057(%rsp) + jmp L__crypto_kem_keypair_derand_jazz$92 +L__crypto_kem_keypair_derand_jazz$91: + movb $0, 6056(%rsp) + movb $0, 6057(%rsp) +L__crypto_kem_keypair_derand_jazz$92: + leaq 192(%rsp), %rax + leaq 6024(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_keypair_derand_jazz$90: + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$88 +L__crypto_kem_keypair_derand_jazz$89: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L__crypto_kem_keypair_derand_jazz$88: + cmpq $64, %rax + jb L__crypto_kem_keypair_derand_jazz$89 + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$80 +L__crypto_kem_keypair_derand_jazz$81: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rax + leaq 6058(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_keypair_derand_jazz$87: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L__crypto_kem_keypair_derand_jazz$82: + movzbw 6058(%rsp,%rcx), %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_keypair_derand_jazz$85 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$85 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$86: +L__crypto_kem_keypair_derand_jazz$85: + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$83 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$83 + movw %di, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$84: +L__crypto_kem_keypair_derand_jazz$83: + cmpq $166, %rcx + jb L__crypto_kem_keypair_derand_jazz$82 +L__crypto_kem_keypair_derand_jazz$80: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$81 + movq $0, %rax + movq $0, %rcx + jmp L__crypto_kem_keypair_derand_jazz$78 +L__crypto_kem_keypair_derand_jazz$79: + movw 392(%rsp,%rax,2), %dx + movw %dx, 3976(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_keypair_derand_jazz$78: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$79 + movq 48(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_keypair_derand_jazz$76 + movb $0, 6056(%rsp) + movb $1, 6057(%rsp) + jmp L__crypto_kem_keypair_derand_jazz$77 +L__crypto_kem_keypair_derand_jazz$76: + movb $1, 6056(%rsp) + movb $0, 6057(%rsp) +L__crypto_kem_keypair_derand_jazz$77: + leaq 192(%rsp), %rax + leaq 6024(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_keypair_derand_jazz$75: + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$73 +L__crypto_kem_keypair_derand_jazz$74: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L__crypto_kem_keypair_derand_jazz$73: + cmpq $64, %rax + jb L__crypto_kem_keypair_derand_jazz$74 + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$65 +L__crypto_kem_keypair_derand_jazz$66: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rax + leaq 6058(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_keypair_derand_jazz$72: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L__crypto_kem_keypair_derand_jazz$67: + movzbw 6058(%rsp,%rcx), %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_keypair_derand_jazz$70 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$70 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$71: +L__crypto_kem_keypair_derand_jazz$70: + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$68 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$68 + movw %di, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$69: +L__crypto_kem_keypair_derand_jazz$68: + cmpq $166, %rcx + jb L__crypto_kem_keypair_derand_jazz$67 +L__crypto_kem_keypair_derand_jazz$65: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$66 + movq $0, %rax + movq $256, %rcx + jmp L__crypto_kem_keypair_derand_jazz$63 +L__crypto_kem_keypair_derand_jazz$64: + movw 392(%rsp,%rax,2), %dx + movw %dx, 3976(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_keypair_derand_jazz$63: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$64 + movq 48(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_keypair_derand_jazz$61 + movb $1, 6056(%rsp) + movb $0, 6057(%rsp) + jmp L__crypto_kem_keypair_derand_jazz$62 +L__crypto_kem_keypair_derand_jazz$61: + movb $0, 6056(%rsp) + movb $1, 6057(%rsp) +L__crypto_kem_keypair_derand_jazz$62: + leaq 192(%rsp), %rax + leaq 6024(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_keypair_derand_jazz$60: + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$58 +L__crypto_kem_keypair_derand_jazz$59: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L__crypto_kem_keypair_derand_jazz$58: + cmpq $64, %rax + jb L__crypto_kem_keypair_derand_jazz$59 + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$50 +L__crypto_kem_keypair_derand_jazz$51: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rax + leaq 6058(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_keypair_derand_jazz$57: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L__crypto_kem_keypair_derand_jazz$52: + movzbw 6058(%rsp,%rcx), %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_keypair_derand_jazz$55 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$55 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$56: +L__crypto_kem_keypair_derand_jazz$55: + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$53 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$53 + movw %di, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$54: +L__crypto_kem_keypair_derand_jazz$53: + cmpq $166, %rcx + jb L__crypto_kem_keypair_derand_jazz$52 +L__crypto_kem_keypair_derand_jazz$50: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$51 + movq $0, %rax + movq $512, %rcx + jmp L__crypto_kem_keypair_derand_jazz$48 +L__crypto_kem_keypair_derand_jazz$49: + movw 392(%rsp,%rax,2), %dx + movw %dx, 3976(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_keypair_derand_jazz$48: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$49 + movq 48(%rsp), %rax + cmpq $0, %rax + je L__crypto_kem_keypair_derand_jazz$46 + movb $1, 6056(%rsp) + movb $1, 6057(%rsp) + jmp L__crypto_kem_keypair_derand_jazz$47 +L__crypto_kem_keypair_derand_jazz$46: + movb $1, 6056(%rsp) + movb $1, 6057(%rsp) +L__crypto_kem_keypair_derand_jazz$47: + leaq 192(%rsp), %rax + leaq 6024(%rsp), %rcx + call L_shake128_absorb34$1 +L__crypto_kem_keypair_derand_jazz$45: + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$43 +L__crypto_kem_keypair_derand_jazz$44: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L__crypto_kem_keypair_derand_jazz$43: + cmpq $64, %rax + jb L__crypto_kem_keypair_derand_jazz$44 + movq $0, %rax + jmp L__crypto_kem_keypair_derand_jazz$35 +L__crypto_kem_keypair_derand_jazz$36: + movq %rax, 48(%rsp) + leaq 192(%rsp), %rax + leaq 6058(%rsp), %rcx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L__crypto_kem_keypair_derand_jazz$42: + leaq 8(%rsp), %rsp + movq 48(%rsp), %rax + movq $0, %rcx +L__crypto_kem_keypair_derand_jazz$37: + movzbw 6058(%rsp,%rcx), %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 6058(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L__crypto_kem_keypair_derand_jazz$40 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$40 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$41: +L__crypto_kem_keypair_derand_jazz$40: + cmpw $3329, %di + jnb L__crypto_kem_keypair_derand_jazz$38 + cmpq $256, %rax + jnb L__crypto_kem_keypair_derand_jazz$38 + movw %di, 392(%rsp,%rax,2) + incq %rax +L__crypto_kem_keypair_derand_jazz$39: +L__crypto_kem_keypair_derand_jazz$38: + cmpq $166, %rcx + jb L__crypto_kem_keypair_derand_jazz$37 +L__crypto_kem_keypair_derand_jazz$35: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$36 + movq $0, %rax + movq $768, %rcx + jmp L__crypto_kem_keypair_derand_jazz$33 +L__crypto_kem_keypair_derand_jazz$34: + movw 392(%rsp,%rax,2), %dx + movw %dx, 3976(%rsp,%rcx,2) + incq %rax + incq %rcx +L__crypto_kem_keypair_derand_jazz$33: + cmpq $256, %rax + jb L__crypto_kem_keypair_derand_jazz$34 + movb $0, %al + leaq 904(%rsp), %rdx + leaq 64(%rsp), %rcx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_keypair_derand_jazz$32: + leaq 240(%rsp), %rsp + movb $1, %al + leaq 1416(%rsp), %rdx + leaq 64(%rsp), %rcx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_keypair_derand_jazz$31: + leaq 240(%rsp), %rsp + movb $2, %al + leaq 1928(%rsp), %rdx + leaq 64(%rsp), %rcx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_keypair_derand_jazz$30: + leaq 240(%rsp), %rsp + movb $3, %al + leaq 2440(%rsp), %rdx + leaq 64(%rsp), %rcx + leaq -240(%rsp), %rsp + call L_poly_getnoise_eta1$1 +L__crypto_kem_keypair_derand_jazz$29: + leaq 240(%rsp), %rsp + leaq 904(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$28: + leaq 1416(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$27: + leaq 1928(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$26: + leaq 2440(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$25: + leaq 2952(%rsp), %rdi + leaq 3976(%rsp), %rcx + leaq 904(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$24: + leaq 16(%rsp), %rsp + leaq 392(%rsp), %rdi + leaq 4488(%rsp), %rcx + leaq 1416(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$23: + leaq 16(%rsp), %rsp + leaq 2952(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$22: + leaq 2952(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_keypair_derand_jazz$20 +L__crypto_kem_keypair_derand_jazz$21: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$20: + cmpq $256, %rcx + jb L__crypto_kem_keypair_derand_jazz$21 + leaq 2952(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$19: + leaq 3464(%rsp), %rdi + leaq 5000(%rsp), %rcx + leaq 904(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$18: + leaq 16(%rsp), %rsp + leaq 392(%rsp), %rdi + leaq 5512(%rsp), %rcx + leaq 1416(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$17: + leaq 16(%rsp), %rsp + leaq 3464(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$16: + leaq 3464(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_keypair_derand_jazz$14 +L__crypto_kem_keypair_derand_jazz$15: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$14: + cmpq $256, %rcx + jb L__crypto_kem_keypair_derand_jazz$15 + leaq 3464(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$13: + leaq 2952(%rsp), %rcx + leaq 1928(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$12: + leaq 3464(%rsp), %rcx + leaq 2440(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$11: + leaq 2952(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_keypair_derand_jazz$9 +L__crypto_kem_keypair_derand_jazz$10: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$9: + cmpq $256, %rcx + jb L__crypto_kem_keypair_derand_jazz$10 + leaq 3464(%rsp), %rax + movq $0, %rcx + jmp L__crypto_kem_keypair_derand_jazz$7 +L__crypto_kem_keypair_derand_jazz$8: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L__crypto_kem_keypair_derand_jazz$7: + cmpq $256, %rcx + jb L__crypto_kem_keypair_derand_jazz$8 + movq 32(%rsp), %rax + movq 40(%rsp), %rcx + movq %rcx, %rdx + leaq 904(%rsp), %rcx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$6: + addq $384, %rdx + leaq 1416(%rsp), %rcx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$5: + movq %rax, %rdx + leaq 2952(%rsp), %rcx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$4: + addq $384, %rdx + leaq 3464(%rsp), %rcx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$3: + addq $768, %rax + movq 96(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 104(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 112(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 120(%rsp), %rcx + movq %rcx, (%rax) + movq 24(%rsp), %rax + addq $768, %rax + movq 16(%rsp), %rcx + movq (%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 8(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 16(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 24(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 32(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 40(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 48(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 56(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 64(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 72(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 80(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 88(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 96(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 176(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 184(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 192(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 200(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 208(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 216(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 224(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 232(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 240(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 248(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 256(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 264(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 272(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 280(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 288(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 296(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 304(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 312(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 320(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 328(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 336(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 344(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 352(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 360(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 368(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 376(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 384(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 392(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 400(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 408(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 416(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 424(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 432(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 440(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 448(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 456(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 464(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 472(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 480(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 488(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 496(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 504(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 512(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 520(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 528(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 536(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 544(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 552(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 560(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 568(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 576(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 584(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 592(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 600(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 608(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 616(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 624(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 632(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 640(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 648(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 656(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 664(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 672(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 680(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 688(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 696(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 704(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 712(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 720(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 728(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 736(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 744(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 752(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 760(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 768(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 776(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 784(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 792(%rcx), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq %rax, 24(%rsp) + movq 16(%rsp), %rsi + movq $800, %rcx + leaq 96(%rsp), %rax + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_keypair_derand_jazz$2: + leaq 232(%rsp), %rsp + movq 24(%rsp), %rax + movq 8(%rsp), %rcx + leaq 96(%rsp), %rdx + movb (%rdx), %sil + movb %sil, (%rax) + movb 1(%rdx), %sil + movb %sil, 1(%rax) + movb 2(%rdx), %sil + movb %sil, 2(%rax) + movb 3(%rdx), %sil + movb %sil, 3(%rax) + movb 4(%rdx), %sil + movb %sil, 4(%rax) + movb 5(%rdx), %sil + movb %sil, 5(%rax) + movb 6(%rdx), %sil + movb %sil, 6(%rax) + movb 7(%rdx), %sil + movb %sil, 7(%rax) + movb 8(%rdx), %sil + movb %sil, 8(%rax) + movb 9(%rdx), %sil + movb %sil, 9(%rax) + movb 10(%rdx), %sil + movb %sil, 10(%rax) + movb 11(%rdx), %sil + movb %sil, 11(%rax) + movb 12(%rdx), %sil + movb %sil, 12(%rax) + movb 13(%rdx), %sil + movb %sil, 13(%rax) + movb 14(%rdx), %sil + movb %sil, 14(%rax) + movb 15(%rdx), %sil + movb %sil, 15(%rax) + movb 16(%rdx), %sil + movb %sil, 16(%rax) + movb 17(%rdx), %sil + movb %sil, 17(%rax) + movb 18(%rdx), %sil + movb %sil, 18(%rax) + movb 19(%rdx), %sil + movb %sil, 19(%rax) + movb 20(%rdx), %sil + movb %sil, 20(%rax) + movb 21(%rdx), %sil + movb %sil, 21(%rax) + movb 22(%rdx), %sil + movb %sil, 22(%rax) + movb 23(%rdx), %sil + movb %sil, 23(%rax) + movb 24(%rdx), %sil + movb %sil, 24(%rax) + movb 25(%rdx), %sil + movb %sil, 25(%rax) + movb 26(%rdx), %sil + movb %sil, 26(%rax) + movb 27(%rdx), %sil + movb %sil, 27(%rax) + movb 28(%rdx), %sil + movb %sil, 28(%rax) + movb 29(%rdx), %sil + movb %sil, 29(%rax) + movb 30(%rdx), %sil + movb %sil, 30(%rax) + movb 31(%rdx), %dl + movb %dl, 31(%rax) + addq $32, %rax + leaq 32(%rcx), %rcx + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + ret +L_i_poly_tomsg$1: + call L_poly_csubq$1 +L_i_poly_tomsg$2: + movb $0, %sil + movw (%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 2(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 4(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 6(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 8(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 10(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 12(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 14(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, (%rax) + movb $0, %sil + movw 16(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 18(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 20(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 22(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 24(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 26(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 28(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 30(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 1(%rax) + movb $0, %sil + movw 32(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 34(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 36(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 38(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 40(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 42(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 44(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 46(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 2(%rax) + movb $0, %sil + movw 48(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 50(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 52(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 54(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 56(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 58(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 60(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 62(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 3(%rax) + movb $0, %sil + movw 64(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 66(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 68(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 70(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 72(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 74(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 76(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 78(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 4(%rax) + movb $0, %sil + movw 80(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 82(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 84(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 86(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 88(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 90(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 92(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 94(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 5(%rax) + movb $0, %sil + movw 96(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 98(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 100(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 102(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 104(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 106(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 108(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 110(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 6(%rax) + movb $0, %sil + movw 112(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 114(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 116(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 118(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 120(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 122(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 124(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 126(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 7(%rax) + movb $0, %sil + movw 128(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 130(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 132(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 134(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 136(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 138(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 140(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 142(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 8(%rax) + movb $0, %sil + movw 144(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 146(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 148(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 150(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 152(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 154(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 156(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 158(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 9(%rax) + movb $0, %sil + movw 160(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 162(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 164(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 166(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 168(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 170(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 172(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 174(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 10(%rax) + movb $0, %sil + movw 176(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 178(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 180(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 182(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 184(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 186(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 188(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 190(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 11(%rax) + movb $0, %sil + movw 192(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 194(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 196(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 198(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 200(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 202(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 204(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 206(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 12(%rax) + movb $0, %sil + movw 208(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 210(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 212(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 214(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 216(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 218(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 220(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 222(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 13(%rax) + movb $0, %sil + movw 224(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 226(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 228(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 230(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 232(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 234(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 236(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 238(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 14(%rax) + movb $0, %sil + movw 240(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 242(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 244(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 246(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 248(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 250(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 252(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 254(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 15(%rax) + movb $0, %sil + movw 256(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 258(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 260(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 262(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 264(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 266(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 268(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 270(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 16(%rax) + movb $0, %sil + movw 272(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 274(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 276(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 278(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 280(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 282(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 284(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 286(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 17(%rax) + movb $0, %sil + movw 288(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 290(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 292(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 294(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 296(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 298(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 300(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 302(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 18(%rax) + movb $0, %sil + movw 304(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 306(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 308(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 310(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 312(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 314(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 316(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 318(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 19(%rax) + movb $0, %sil + movw 320(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 322(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 324(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 326(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 328(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 330(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 332(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 334(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 20(%rax) + movb $0, %sil + movw 336(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 338(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 340(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 342(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 344(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 346(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 348(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 350(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 21(%rax) + movb $0, %sil + movw 352(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 354(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 356(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 358(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 360(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 362(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 364(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 366(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 22(%rax) + movb $0, %sil + movw 368(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 370(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 372(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 374(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 376(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 378(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 380(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 382(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 23(%rax) + movb $0, %sil + movw 384(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 386(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 388(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 390(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 392(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 394(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 396(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 398(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 24(%rax) + movb $0, %sil + movw 400(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 402(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 404(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 406(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 408(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 410(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 412(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 414(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 25(%rax) + movb $0, %sil + movw 416(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 418(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 420(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 422(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 424(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 426(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 428(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 430(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 26(%rax) + movb $0, %sil + movw 432(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 434(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 436(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 438(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 440(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 442(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 444(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 446(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 27(%rax) + movb $0, %sil + movw 448(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 450(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 452(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 454(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 456(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 458(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 460(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 462(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 28(%rax) + movb $0, %sil + movw 464(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 466(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 468(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 470(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 472(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 474(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 476(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 478(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 29(%rax) + movb $0, %sil + movw 480(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 482(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 484(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 486(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 488(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 490(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 492(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 494(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 30(%rax) + movb $0, %sil + movw 496(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 498(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 500(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 502(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 504(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 506(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 508(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 510(%rcx), %cx + movzwl %cx, %ecx + shll $1, %ecx + addl $1665, %ecx + imull $80635, %ecx, %ecx + shrl $28, %ecx + andl $1, %ecx + shll $7, %ecx + orb %cl, %sil + movb %sil, 31(%rax) + ret +L_poly_tobytes$1: + call L_poly_csubq$1 +L_poly_tobytes$4: + movq $0, %rsi + movq $0, %rdi + jmp L_poly_tobytes$2 +L_poly_tobytes$3: + movw (%rcx,%rsi,2), %r8w + incq %rsi + movw (%rcx,%rsi,2), %r9w + incq %rsi + movw %r8w, %r10w + andw $255, %r10w + movb %r10b, (%rdx,%rdi) + incq %rdi + shrw $8, %r8w + movw %r9w, %r10w + andw $15, %r10w + shlw $4, %r10w + orw %r8w, %r10w + movb %r10b, (%rdx,%rdi) + incq %rdi + shrw $4, %r9w + movb %r9b, (%rdx,%rdi) + incq %rdi +L_poly_tobytes$2: + cmpq $256, %rsi + jb L_poly_tobytes$3 + ret +L_poly_sub$1: + movq $0, %r8 + jmp L_poly_sub$2 +L_poly_sub$3: + movw (%rsi,%r8,2), %r9w + movw (%rdi,%r8,2), %r10w + subw %r10w, %r9w + movw %r9w, (%rcx,%r8,2) + incq %r8 +L_poly_sub$2: + cmpq $256, %r8 + jb L_poly_sub$3 + ret +L_poly_ntt$1: + leaq glob_data + 448(%rip), %rsi + movq $0, %rdi + movq $128, %r8 + jmp L_poly_ntt$4 +L_poly_ntt$5: + movq $0, %r11 + jmp L_poly_ntt$6 +L_poly_ntt$7: + incq %rdi + movw (%rsi,%rdi,2), %r9w + movq %r11, %r10 + leaq (%r11,%r8), %r11 + jmp L_poly_ntt$8 +L_poly_ntt$9: + leaq (%r10,%r8), %rbx + movw (%rcx,%rbx,2), %bp + movswl %bp, %ebp + movswl %r9w, %r12d + imull %r12d, %ebp + imull $62209, %ebp, %r12d + shll $16, %r12d + sarl $16, %r12d + imull $3329, %r12d, %r12d + subl %r12d, %ebp + sarl $16, %ebp + movw (%rcx,%r10,2), %r12w + movw %r12w, %r13w + subw %bp, %r13w + movw %r13w, (%rcx,%rbx,2) + addw %r12w, %bp + movw %bp, (%rcx,%r10,2) + incq %r10 +L_poly_ntt$8: + cmpq %r11, %r10 + jb L_poly_ntt$9 + leaq (%r10,%r8), %r11 +L_poly_ntt$6: + cmpq $256, %r11 + jb L_poly_ntt$7 + shrq $1, %r8 +L_poly_ntt$4: + cmpq $2, %r8 + jnb L_poly_ntt$5 + movq $0, %rsi + jmp L_poly_ntt$2 +L_poly_ntt$3: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +L_poly_ntt$2: + cmpq $256, %rsi + jb L_poly_ntt$3 + ret +L_poly_invntt$1: + leaq glob_data + 192(%rip), %rsi + movq $0, %rdi + movq $2, %r8 + jmp L_poly_invntt$4 +L_poly_invntt$5: + movq $0, %r11 + jmp L_poly_invntt$6 +L_poly_invntt$7: + movw (%rsi,%rdi,2), %r9w + incq %rdi + movq %r11, %r10 + leaq (%r11,%r8), %r11 + jmp L_poly_invntt$8 +L_poly_invntt$9: + leaq (%r10,%r8), %rbx + movw (%rcx,%rbx,2), %bp + movw (%rcx,%r10,2), %r12w + movw %bp, %r13w + addw %r12w, %r13w + movswl %r13w, %r14d + imull $20159, %r14d, %r14d + sarl $26, %r14d + imull $3329, %r14d, %r14d + subw %r14w, %r13w + movw %r13w, (%rcx,%r10,2) + subw %bp, %r12w + movswl %r12w, %ebp + movswl %r9w, %r12d + imull %r12d, %ebp + imull $62209, %ebp, %r12d + shll $16, %r12d + sarl $16, %r12d + imull $3329, %r12d, %r12d + subl %r12d, %ebp + sarl $16, %ebp + movw %bp, (%rcx,%rbx,2) + incq %r10 +L_poly_invntt$8: + cmpq %r11, %r10 + jb L_poly_invntt$9 + leaq (%r10,%r8), %r11 +L_poly_invntt$6: + cmpq $256, %r11 + jb L_poly_invntt$7 + shlq $1, %r8 +L_poly_invntt$4: + cmpq $128, %r8 + jbe L_poly_invntt$5 + movw 254(%rsi), %si + movq $0, %rdi + jmp L_poly_invntt$2 +L_poly_invntt$3: + movw (%rcx,%rdi,2), %r8w + movswl %r8w, %r8d + movswl %si, %r9d + imull %r9d, %r8d + imull $62209, %r8d, %r9d + shll $16, %r9d + sarl $16, %r9d + imull $3329, %r9d, %r9d + subl %r9d, %r8d + sarl $16, %r8d + movw %r8w, (%rcx,%rdi,2) + incq %rdi +L_poly_invntt$2: + cmpq $256, %rdi + jb L_poly_invntt$3 + ret +L_poly_getnoise_eta2$1: + movq %rdx, 8(%rsp) + movb (%rax), %dl + movb %dl, 16(%rsp) + movb 1(%rax), %dl + movb %dl, 17(%rsp) + movb 2(%rax), %dl + movb %dl, 18(%rsp) + movb 3(%rax), %dl + movb %dl, 19(%rsp) + movb 4(%rax), %dl + movb %dl, 20(%rsp) + movb 5(%rax), %dl + movb %dl, 21(%rsp) + movb 6(%rax), %dl + movb %dl, 22(%rsp) + movb 7(%rax), %dl + movb %dl, 23(%rsp) + movb 8(%rax), %dl + movb %dl, 24(%rsp) + movb 9(%rax), %dl + movb %dl, 25(%rsp) + movb 10(%rax), %dl + movb %dl, 26(%rsp) + movb 11(%rax), %dl + movb %dl, 27(%rsp) + movb 12(%rax), %dl + movb %dl, 28(%rsp) + movb 13(%rax), %dl + movb %dl, 29(%rsp) + movb 14(%rax), %dl + movb %dl, 30(%rsp) + movb 15(%rax), %dl + movb %dl, 31(%rsp) + movb 16(%rax), %dl + movb %dl, 32(%rsp) + movb 17(%rax), %dl + movb %dl, 33(%rsp) + movb 18(%rax), %dl + movb %dl, 34(%rsp) + movb 19(%rax), %dl + movb %dl, 35(%rsp) + movb 20(%rax), %dl + movb %dl, 36(%rsp) + movb 21(%rax), %dl + movb %dl, 37(%rsp) + movb 22(%rax), %dl + movb %dl, 38(%rsp) + movb 23(%rax), %dl + movb %dl, 39(%rsp) + movb 24(%rax), %dl + movb %dl, 40(%rsp) + movb 25(%rax), %dl + movb %dl, 41(%rsp) + movb 26(%rax), %dl + movb %dl, 42(%rsp) + movb 27(%rax), %dl + movb %dl, 43(%rsp) + movb 28(%rax), %dl + movb %dl, 44(%rsp) + movb 29(%rax), %dl + movb %dl, 45(%rsp) + movb 30(%rax), %dl + movb %dl, 46(%rsp) + movb 31(%rax), %al + movb %al, 47(%rsp) + movb %cl, 48(%rsp) + leaq 49(%rsp), %rax + leaq 16(%rsp), %rcx + leaq -208(%rsp), %rsp + call L_shake256_128_33$1 +L_poly_getnoise_eta2$4: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rax + leaq 49(%rsp), %rcx + movq $0, %rdx + movq $0, %rsi + jmp L_poly_getnoise_eta2$2 +L_poly_getnoise_eta2$3: + movb (%rcx,%rdx), %dil + movb %dil, %r8b + andb $85, %r8b + shrb $1, %dil + andb $85, %dil + addb %r8b, %dil + movb %dil, %r8b + andb $3, %r8b + movb %dil, %r9b + shrb $2, %r9b + andb $3, %r9b + subb %r9b, %r8b + movsbw %r8b, %r8w + movw %r8w, (%rax,%rsi,2) + movb %dil, %r8b + shrb $4, %r8b + andb $3, %r8b + shrb $6, %dil + andb $3, %dil + subb %dil, %r8b + movsbw %r8b, %di + incq %rsi + movw %di, (%rax,%rsi,2) + incq %rdx + incq %rsi +L_poly_getnoise_eta2$2: + cmpq $128, %rdx + jb L_poly_getnoise_eta2$3 + ret +L_poly_getnoise_eta1$1: + movq %rdx, 8(%rsp) + movb (%rcx), %dl + movb %dl, 16(%rsp) + movb 1(%rcx), %dl + movb %dl, 17(%rsp) + movb 2(%rcx), %dl + movb %dl, 18(%rsp) + movb 3(%rcx), %dl + movb %dl, 19(%rsp) + movb 4(%rcx), %dl + movb %dl, 20(%rsp) + movb 5(%rcx), %dl + movb %dl, 21(%rsp) + movb 6(%rcx), %dl + movb %dl, 22(%rsp) + movb 7(%rcx), %dl + movb %dl, 23(%rsp) + movb 8(%rcx), %dl + movb %dl, 24(%rsp) + movb 9(%rcx), %dl + movb %dl, 25(%rsp) + movb 10(%rcx), %dl + movb %dl, 26(%rsp) + movb 11(%rcx), %dl + movb %dl, 27(%rsp) + movb 12(%rcx), %dl + movb %dl, 28(%rsp) + movb 13(%rcx), %dl + movb %dl, 29(%rsp) + movb 14(%rcx), %dl + movb %dl, 30(%rsp) + movb 15(%rcx), %dl + movb %dl, 31(%rsp) + movb 16(%rcx), %dl + movb %dl, 32(%rsp) + movb 17(%rcx), %dl + movb %dl, 33(%rsp) + movb 18(%rcx), %dl + movb %dl, 34(%rsp) + movb 19(%rcx), %dl + movb %dl, 35(%rsp) + movb 20(%rcx), %dl + movb %dl, 36(%rsp) + movb 21(%rcx), %dl + movb %dl, 37(%rsp) + movb 22(%rcx), %dl + movb %dl, 38(%rsp) + movb 23(%rcx), %dl + movb %dl, 39(%rsp) + movb 24(%rcx), %dl + movb %dl, 40(%rsp) + movb 25(%rcx), %dl + movb %dl, 41(%rsp) + movb 26(%rcx), %dl + movb %dl, 42(%rsp) + movb 27(%rcx), %dl + movb %dl, 43(%rsp) + movb 28(%rcx), %dl + movb %dl, 44(%rsp) + movb 29(%rcx), %dl + movb %dl, 45(%rsp) + movb 30(%rcx), %dl + movb %dl, 46(%rsp) + movb 31(%rcx), %cl + movb %cl, 47(%rsp) + movb %al, 48(%rsp) + leaq 49(%rsp), %rax + leaq 16(%rsp), %rcx + leaq -208(%rsp), %rsp + call L_shake256_192_33$1 +L_poly_getnoise_eta1$4: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rax + leaq 49(%rsp), %rcx + movq $0, %rdx + movq $0, %rsi + jmp L_poly_getnoise_eta1$2 +L_poly_getnoise_eta1$3: + imulq $3, %rdx, %r8 + movzbl (%rcx,%r8), %edi + movzbl 1(%rcx,%r8), %r9d + shll $8, %r9d + orl %r9d, %edi + movzbl 2(%rcx,%r8), %r8d + shll $16, %r8d + orl %r8d, %edi + movl %edi, %r8d + andl $2396745, %r8d + shrl $1, %edi + movl %edi, %r9d + andl $2396745, %r9d + addl %r9d, %r8d + shrl $1, %edi + andl $2396745, %edi + addl %r8d, %edi + movb %dil, %r8b + andb $7, %r8b + movb %dil, %r9b + shrb $3, %r9b + andb $7, %r9b + subb %r9b, %r8b + movsbw %r8b, %r8w + movw %r8w, (%rax,%rsi,2) + shrl $6, %edi + incq %rsi + movb %dil, %r8b + andb $7, %r8b + movb %dil, %r9b + shrb $3, %r9b + andb $7, %r9b + subb %r9b, %r8b + movsbw %r8b, %r8w + movw %r8w, (%rax,%rsi,2) + shrl $6, %edi + incq %rsi + movb %dil, %r8b + andb $7, %r8b + movb %dil, %r9b + shrb $3, %r9b + andb $7, %r9b + subb %r9b, %r8b + movsbw %r8b, %r8w + movw %r8w, (%rax,%rsi,2) + shrl $6, %edi + incq %rsi + movb %dil, %r8b + andb $7, %r8b + shrb $3, %dil + andb $7, %dil + subb %dil, %r8b + movsbw %r8b, %di + movw %di, (%rax,%rsi,2) + incq %rsi + incq %rdx +L_poly_getnoise_eta1$2: + cmpq $64, %rdx + jb L_poly_getnoise_eta1$3 + ret +L_i_poly_frommsg$1: + movb (%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, (%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 2(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 4(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 6(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 8(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 10(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 12(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 14(%rdx) + movb 1(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 16(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 18(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 20(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 22(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 24(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 26(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 28(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 30(%rdx) + movb 2(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 32(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 34(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 36(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 38(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 40(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 42(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 44(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 46(%rdx) + movb 3(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 48(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 50(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 52(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 54(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 56(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 58(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 60(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 62(%rdx) + movb 4(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 64(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 66(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 68(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 70(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 72(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 74(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 76(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 78(%rdx) + movb 5(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 80(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 82(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 84(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 86(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 88(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 90(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 92(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 94(%rdx) + movb 6(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 96(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 98(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 100(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 102(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 104(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 106(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 108(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 110(%rdx) + movb 7(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 112(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 114(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 116(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 118(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 120(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 122(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 124(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 126(%rdx) + movb 8(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 128(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 130(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 132(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 134(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 136(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 138(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 140(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 142(%rdx) + movb 9(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 144(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 146(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 148(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 150(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 152(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 154(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 156(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 158(%rdx) + movb 10(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 160(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 162(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 164(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 166(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 168(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 170(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 172(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 174(%rdx) + movb 11(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 176(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 178(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 180(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 182(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 184(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 186(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 188(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 190(%rdx) + movb 12(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 192(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 194(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 196(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 198(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 200(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 202(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 204(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 206(%rdx) + movb 13(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 208(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 210(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 212(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 214(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 216(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 218(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 220(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 222(%rdx) + movb 14(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 224(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 226(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 228(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 230(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 232(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 234(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 236(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 238(%rdx) + movb 15(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 240(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 242(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 244(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 246(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 248(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 250(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 252(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 254(%rdx) + movb 16(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 256(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 258(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 260(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 262(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 264(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 266(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 268(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 270(%rdx) + movb 17(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 272(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 274(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 276(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 278(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 280(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 282(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 284(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 286(%rdx) + movb 18(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 288(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 290(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 292(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 294(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 296(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 298(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 300(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 302(%rdx) + movb 19(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 304(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 306(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 308(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 310(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 312(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 314(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 316(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 318(%rdx) + movb 20(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 320(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 322(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 324(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 326(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 328(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 330(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 332(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 334(%rdx) + movb 21(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 336(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 338(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 340(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 342(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 344(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 346(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 348(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 350(%rdx) + movb 22(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 352(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 354(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 356(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 358(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 360(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 362(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 364(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 366(%rdx) + movb 23(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 368(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 370(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 372(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 374(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 376(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 378(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 380(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 382(%rdx) + movb 24(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 384(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 386(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 388(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 390(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 392(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 394(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 396(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 398(%rdx) + movb 25(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 400(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 402(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 404(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 406(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 408(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 410(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 412(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 414(%rdx) + movb 26(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 416(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 418(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 420(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 422(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 424(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 426(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 428(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 430(%rdx) + movb 27(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 432(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 434(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 436(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 438(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 440(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 442(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 444(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 446(%rdx) + movb 28(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 448(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 450(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 452(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 454(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 456(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 458(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 460(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 462(%rdx) + movb 29(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 464(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 466(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 468(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 470(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 472(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 474(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 476(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 478(%rdx) + movb 30(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 480(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 482(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 484(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 486(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 488(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 490(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 492(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 494(%rdx) + movb 31(%rcx), %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 496(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 498(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 500(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 502(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 504(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 506(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 508(%rdx) + shrb $1, %cl + movzbw %cl, %cx + andw $1, %cx + imulw $1665, %cx, %cx + movw %cx, 510(%rdx) + ret +L_poly_frommont$1: + movw $1353, %cx + movq $0, %rdx + jmp L_poly_frommont$2 +L_poly_frommont$3: + movw (%rax,%rdx,2), %si + movswl %si, %esi + movswl %cx, %edi + imull %edi, %esi + imull $62209, %esi, %edi + shll $16, %edi + sarl $16, %edi + imull $3329, %edi, %edi + subl %edi, %esi + sarl $16, %esi + movw %si, (%rax,%rdx,2) + incq %rdx +L_poly_frommont$2: + cmpq $256, %rdx + jb L_poly_frommont$3 + ret +L_poly_frombytes$1: + movb (%rsi), %r8b + movb 1(%rsi), %r9b + movb 2(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, (%rdi) + movw %r10w, 2(%rdi) + movb 3(%rsi), %r8b + movb 4(%rsi), %r9b + movb 5(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 4(%rdi) + movw %r10w, 6(%rdi) + movb 6(%rsi), %r8b + movb 7(%rsi), %r9b + movb 8(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 8(%rdi) + movw %r10w, 10(%rdi) + movb 9(%rsi), %r8b + movb 10(%rsi), %r9b + movb 11(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 12(%rdi) + movw %r10w, 14(%rdi) + movb 12(%rsi), %r8b + movb 13(%rsi), %r9b + movb 14(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 16(%rdi) + movw %r10w, 18(%rdi) + movb 15(%rsi), %r8b + movb 16(%rsi), %r9b + movb 17(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 20(%rdi) + movw %r10w, 22(%rdi) + movb 18(%rsi), %r8b + movb 19(%rsi), %r9b + movb 20(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 24(%rdi) + movw %r10w, 26(%rdi) + movb 21(%rsi), %r8b + movb 22(%rsi), %r9b + movb 23(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 28(%rdi) + movw %r10w, 30(%rdi) + movb 24(%rsi), %r8b + movb 25(%rsi), %r9b + movb 26(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 32(%rdi) + movw %r10w, 34(%rdi) + movb 27(%rsi), %r8b + movb 28(%rsi), %r9b + movb 29(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 36(%rdi) + movw %r10w, 38(%rdi) + movb 30(%rsi), %r8b + movb 31(%rsi), %r9b + movb 32(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 40(%rdi) + movw %r10w, 42(%rdi) + movb 33(%rsi), %r8b + movb 34(%rsi), %r9b + movb 35(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 44(%rdi) + movw %r10w, 46(%rdi) + movb 36(%rsi), %r8b + movb 37(%rsi), %r9b + movb 38(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 48(%rdi) + movw %r10w, 50(%rdi) + movb 39(%rsi), %r8b + movb 40(%rsi), %r9b + movb 41(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 52(%rdi) + movw %r10w, 54(%rdi) + movb 42(%rsi), %r8b + movb 43(%rsi), %r9b + movb 44(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 56(%rdi) + movw %r10w, 58(%rdi) + movb 45(%rsi), %r8b + movb 46(%rsi), %r9b + movb 47(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 60(%rdi) + movw %r10w, 62(%rdi) + movb 48(%rsi), %r8b + movb 49(%rsi), %r9b + movb 50(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 64(%rdi) + movw %r10w, 66(%rdi) + movb 51(%rsi), %r8b + movb 52(%rsi), %r9b + movb 53(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 68(%rdi) + movw %r10w, 70(%rdi) + movb 54(%rsi), %r8b + movb 55(%rsi), %r9b + movb 56(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 72(%rdi) + movw %r10w, 74(%rdi) + movb 57(%rsi), %r8b + movb 58(%rsi), %r9b + movb 59(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 76(%rdi) + movw %r10w, 78(%rdi) + movb 60(%rsi), %r8b + movb 61(%rsi), %r9b + movb 62(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 80(%rdi) + movw %r10w, 82(%rdi) + movb 63(%rsi), %r8b + movb 64(%rsi), %r9b + movb 65(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 84(%rdi) + movw %r10w, 86(%rdi) + movb 66(%rsi), %r8b + movb 67(%rsi), %r9b + movb 68(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 88(%rdi) + movw %r10w, 90(%rdi) + movb 69(%rsi), %r8b + movb 70(%rsi), %r9b + movb 71(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 92(%rdi) + movw %r10w, 94(%rdi) + movb 72(%rsi), %r8b + movb 73(%rsi), %r9b + movb 74(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 96(%rdi) + movw %r10w, 98(%rdi) + movb 75(%rsi), %r8b + movb 76(%rsi), %r9b + movb 77(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 100(%rdi) + movw %r10w, 102(%rdi) + movb 78(%rsi), %r8b + movb 79(%rsi), %r9b + movb 80(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 104(%rdi) + movw %r10w, 106(%rdi) + movb 81(%rsi), %r8b + movb 82(%rsi), %r9b + movb 83(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 108(%rdi) + movw %r10w, 110(%rdi) + movb 84(%rsi), %r8b + movb 85(%rsi), %r9b + movb 86(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 112(%rdi) + movw %r10w, 114(%rdi) + movb 87(%rsi), %r8b + movb 88(%rsi), %r9b + movb 89(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 116(%rdi) + movw %r10w, 118(%rdi) + movb 90(%rsi), %r8b + movb 91(%rsi), %r9b + movb 92(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 120(%rdi) + movw %r10w, 122(%rdi) + movb 93(%rsi), %r8b + movb 94(%rsi), %r9b + movb 95(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 124(%rdi) + movw %r10w, 126(%rdi) + movb 96(%rsi), %r8b + movb 97(%rsi), %r9b + movb 98(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 128(%rdi) + movw %r10w, 130(%rdi) + movb 99(%rsi), %r8b + movb 100(%rsi), %r9b + movb 101(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 132(%rdi) + movw %r10w, 134(%rdi) + movb 102(%rsi), %r8b + movb 103(%rsi), %r9b + movb 104(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 136(%rdi) + movw %r10w, 138(%rdi) + movb 105(%rsi), %r8b + movb 106(%rsi), %r9b + movb 107(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 140(%rdi) + movw %r10w, 142(%rdi) + movb 108(%rsi), %r8b + movb 109(%rsi), %r9b + movb 110(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 144(%rdi) + movw %r10w, 146(%rdi) + movb 111(%rsi), %r8b + movb 112(%rsi), %r9b + movb 113(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 148(%rdi) + movw %r10w, 150(%rdi) + movb 114(%rsi), %r8b + movb 115(%rsi), %r9b + movb 116(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 152(%rdi) + movw %r10w, 154(%rdi) + movb 117(%rsi), %r8b + movb 118(%rsi), %r9b + movb 119(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 156(%rdi) + movw %r10w, 158(%rdi) + movb 120(%rsi), %r8b + movb 121(%rsi), %r9b + movb 122(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 160(%rdi) + movw %r10w, 162(%rdi) + movb 123(%rsi), %r8b + movb 124(%rsi), %r9b + movb 125(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 164(%rdi) + movw %r10w, 166(%rdi) + movb 126(%rsi), %r8b + movb 127(%rsi), %r9b + movb 128(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 168(%rdi) + movw %r10w, 170(%rdi) + movb 129(%rsi), %r8b + movb 130(%rsi), %r9b + movb 131(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 172(%rdi) + movw %r10w, 174(%rdi) + movb 132(%rsi), %r8b + movb 133(%rsi), %r9b + movb 134(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 176(%rdi) + movw %r10w, 178(%rdi) + movb 135(%rsi), %r8b + movb 136(%rsi), %r9b + movb 137(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 180(%rdi) + movw %r10w, 182(%rdi) + movb 138(%rsi), %r8b + movb 139(%rsi), %r9b + movb 140(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 184(%rdi) + movw %r10w, 186(%rdi) + movb 141(%rsi), %r8b + movb 142(%rsi), %r9b + movb 143(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 188(%rdi) + movw %r10w, 190(%rdi) + movb 144(%rsi), %r8b + movb 145(%rsi), %r9b + movb 146(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 192(%rdi) + movw %r10w, 194(%rdi) + movb 147(%rsi), %r8b + movb 148(%rsi), %r9b + movb 149(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 196(%rdi) + movw %r10w, 198(%rdi) + movb 150(%rsi), %r8b + movb 151(%rsi), %r9b + movb 152(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 200(%rdi) + movw %r10w, 202(%rdi) + movb 153(%rsi), %r8b + movb 154(%rsi), %r9b + movb 155(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 204(%rdi) + movw %r10w, 206(%rdi) + movb 156(%rsi), %r8b + movb 157(%rsi), %r9b + movb 158(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 208(%rdi) + movw %r10w, 210(%rdi) + movb 159(%rsi), %r8b + movb 160(%rsi), %r9b + movb 161(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 212(%rdi) + movw %r10w, 214(%rdi) + movb 162(%rsi), %r8b + movb 163(%rsi), %r9b + movb 164(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 216(%rdi) + movw %r10w, 218(%rdi) + movb 165(%rsi), %r8b + movb 166(%rsi), %r9b + movb 167(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 220(%rdi) + movw %r10w, 222(%rdi) + movb 168(%rsi), %r8b + movb 169(%rsi), %r9b + movb 170(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 224(%rdi) + movw %r10w, 226(%rdi) + movb 171(%rsi), %r8b + movb 172(%rsi), %r9b + movb 173(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 228(%rdi) + movw %r10w, 230(%rdi) + movb 174(%rsi), %r8b + movb 175(%rsi), %r9b + movb 176(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 232(%rdi) + movw %r10w, 234(%rdi) + movb 177(%rsi), %r8b + movb 178(%rsi), %r9b + movb 179(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 236(%rdi) + movw %r10w, 238(%rdi) + movb 180(%rsi), %r8b + movb 181(%rsi), %r9b + movb 182(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 240(%rdi) + movw %r10w, 242(%rdi) + movb 183(%rsi), %r8b + movb 184(%rsi), %r9b + movb 185(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 244(%rdi) + movw %r10w, 246(%rdi) + movb 186(%rsi), %r8b + movb 187(%rsi), %r9b + movb 188(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 248(%rdi) + movw %r10w, 250(%rdi) + movb 189(%rsi), %r8b + movb 190(%rsi), %r9b + movb 191(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 252(%rdi) + movw %r10w, 254(%rdi) + movb 192(%rsi), %r8b + movb 193(%rsi), %r9b + movb 194(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 256(%rdi) + movw %r10w, 258(%rdi) + movb 195(%rsi), %r8b + movb 196(%rsi), %r9b + movb 197(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 260(%rdi) + movw %r10w, 262(%rdi) + movb 198(%rsi), %r8b + movb 199(%rsi), %r9b + movb 200(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 264(%rdi) + movw %r10w, 266(%rdi) + movb 201(%rsi), %r8b + movb 202(%rsi), %r9b + movb 203(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 268(%rdi) + movw %r10w, 270(%rdi) + movb 204(%rsi), %r8b + movb 205(%rsi), %r9b + movb 206(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 272(%rdi) + movw %r10w, 274(%rdi) + movb 207(%rsi), %r8b + movb 208(%rsi), %r9b + movb 209(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 276(%rdi) + movw %r10w, 278(%rdi) + movb 210(%rsi), %r8b + movb 211(%rsi), %r9b + movb 212(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 280(%rdi) + movw %r10w, 282(%rdi) + movb 213(%rsi), %r8b + movb 214(%rsi), %r9b + movb 215(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 284(%rdi) + movw %r10w, 286(%rdi) + movb 216(%rsi), %r8b + movb 217(%rsi), %r9b + movb 218(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 288(%rdi) + movw %r10w, 290(%rdi) + movb 219(%rsi), %r8b + movb 220(%rsi), %r9b + movb 221(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 292(%rdi) + movw %r10w, 294(%rdi) + movb 222(%rsi), %r8b + movb 223(%rsi), %r9b + movb 224(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 296(%rdi) + movw %r10w, 298(%rdi) + movb 225(%rsi), %r8b + movb 226(%rsi), %r9b + movb 227(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 300(%rdi) + movw %r10w, 302(%rdi) + movb 228(%rsi), %r8b + movb 229(%rsi), %r9b + movb 230(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 304(%rdi) + movw %r10w, 306(%rdi) + movb 231(%rsi), %r8b + movb 232(%rsi), %r9b + movb 233(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 308(%rdi) + movw %r10w, 310(%rdi) + movb 234(%rsi), %r8b + movb 235(%rsi), %r9b + movb 236(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 312(%rdi) + movw %r10w, 314(%rdi) + movb 237(%rsi), %r8b + movb 238(%rsi), %r9b + movb 239(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 316(%rdi) + movw %r10w, 318(%rdi) + movb 240(%rsi), %r8b + movb 241(%rsi), %r9b + movb 242(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 320(%rdi) + movw %r10w, 322(%rdi) + movb 243(%rsi), %r8b + movb 244(%rsi), %r9b + movb 245(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 324(%rdi) + movw %r10w, 326(%rdi) + movb 246(%rsi), %r8b + movb 247(%rsi), %r9b + movb 248(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 328(%rdi) + movw %r10w, 330(%rdi) + movb 249(%rsi), %r8b + movb 250(%rsi), %r9b + movb 251(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 332(%rdi) + movw %r10w, 334(%rdi) + movb 252(%rsi), %r8b + movb 253(%rsi), %r9b + movb 254(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 336(%rdi) + movw %r10w, 338(%rdi) + movb 255(%rsi), %r8b + movb 256(%rsi), %r9b + movb 257(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 340(%rdi) + movw %r10w, 342(%rdi) + movb 258(%rsi), %r8b + movb 259(%rsi), %r9b + movb 260(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 344(%rdi) + movw %r10w, 346(%rdi) + movb 261(%rsi), %r8b + movb 262(%rsi), %r9b + movb 263(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 348(%rdi) + movw %r10w, 350(%rdi) + movb 264(%rsi), %r8b + movb 265(%rsi), %r9b + movb 266(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 352(%rdi) + movw %r10w, 354(%rdi) + movb 267(%rsi), %r8b + movb 268(%rsi), %r9b + movb 269(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 356(%rdi) + movw %r10w, 358(%rdi) + movb 270(%rsi), %r8b + movb 271(%rsi), %r9b + movb 272(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 360(%rdi) + movw %r10w, 362(%rdi) + movb 273(%rsi), %r8b + movb 274(%rsi), %r9b + movb 275(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 364(%rdi) + movw %r10w, 366(%rdi) + movb 276(%rsi), %r8b + movb 277(%rsi), %r9b + movb 278(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 368(%rdi) + movw %r10w, 370(%rdi) + movb 279(%rsi), %r8b + movb 280(%rsi), %r9b + movb 281(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 372(%rdi) + movw %r10w, 374(%rdi) + movb 282(%rsi), %r8b + movb 283(%rsi), %r9b + movb 284(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 376(%rdi) + movw %r10w, 378(%rdi) + movb 285(%rsi), %r8b + movb 286(%rsi), %r9b + movb 287(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 380(%rdi) + movw %r10w, 382(%rdi) + movb 288(%rsi), %r8b + movb 289(%rsi), %r9b + movb 290(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 384(%rdi) + movw %r10w, 386(%rdi) + movb 291(%rsi), %r8b + movb 292(%rsi), %r9b + movb 293(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 388(%rdi) + movw %r10w, 390(%rdi) + movb 294(%rsi), %r8b + movb 295(%rsi), %r9b + movb 296(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 392(%rdi) + movw %r10w, 394(%rdi) + movb 297(%rsi), %r8b + movb 298(%rsi), %r9b + movb 299(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 396(%rdi) + movw %r10w, 398(%rdi) + movb 300(%rsi), %r8b + movb 301(%rsi), %r9b + movb 302(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 400(%rdi) + movw %r10w, 402(%rdi) + movb 303(%rsi), %r8b + movb 304(%rsi), %r9b + movb 305(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 404(%rdi) + movw %r10w, 406(%rdi) + movb 306(%rsi), %r8b + movb 307(%rsi), %r9b + movb 308(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 408(%rdi) + movw %r10w, 410(%rdi) + movb 309(%rsi), %r8b + movb 310(%rsi), %r9b + movb 311(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 412(%rdi) + movw %r10w, 414(%rdi) + movb 312(%rsi), %r8b + movb 313(%rsi), %r9b + movb 314(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 416(%rdi) + movw %r10w, 418(%rdi) + movb 315(%rsi), %r8b + movb 316(%rsi), %r9b + movb 317(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 420(%rdi) + movw %r10w, 422(%rdi) + movb 318(%rsi), %r8b + movb 319(%rsi), %r9b + movb 320(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 424(%rdi) + movw %r10w, 426(%rdi) + movb 321(%rsi), %r8b + movb 322(%rsi), %r9b + movb 323(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 428(%rdi) + movw %r10w, 430(%rdi) + movb 324(%rsi), %r8b + movb 325(%rsi), %r9b + movb 326(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 432(%rdi) + movw %r10w, 434(%rdi) + movb 327(%rsi), %r8b + movb 328(%rsi), %r9b + movb 329(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 436(%rdi) + movw %r10w, 438(%rdi) + movb 330(%rsi), %r8b + movb 331(%rsi), %r9b + movb 332(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 440(%rdi) + movw %r10w, 442(%rdi) + movb 333(%rsi), %r8b + movb 334(%rsi), %r9b + movb 335(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 444(%rdi) + movw %r10w, 446(%rdi) + movb 336(%rsi), %r8b + movb 337(%rsi), %r9b + movb 338(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 448(%rdi) + movw %r10w, 450(%rdi) + movb 339(%rsi), %r8b + movb 340(%rsi), %r9b + movb 341(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 452(%rdi) + movw %r10w, 454(%rdi) + movb 342(%rsi), %r8b + movb 343(%rsi), %r9b + movb 344(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 456(%rdi) + movw %r10w, 458(%rdi) + movb 345(%rsi), %r8b + movb 346(%rsi), %r9b + movb 347(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 460(%rdi) + movw %r10w, 462(%rdi) + movb 348(%rsi), %r8b + movb 349(%rsi), %r9b + movb 350(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 464(%rdi) + movw %r10w, 466(%rdi) + movb 351(%rsi), %r8b + movb 352(%rsi), %r9b + movb 353(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 468(%rdi) + movw %r10w, 470(%rdi) + movb 354(%rsi), %r8b + movb 355(%rsi), %r9b + movb 356(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 472(%rdi) + movw %r10w, 474(%rdi) + movb 357(%rsi), %r8b + movb 358(%rsi), %r9b + movb 359(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 476(%rdi) + movw %r10w, 478(%rdi) + movb 360(%rsi), %r8b + movb 361(%rsi), %r9b + movb 362(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 480(%rdi) + movw %r10w, 482(%rdi) + movb 363(%rsi), %r8b + movb 364(%rsi), %r9b + movb 365(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 484(%rdi) + movw %r10w, 486(%rdi) + movb 366(%rsi), %r8b + movb 367(%rsi), %r9b + movb 368(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 488(%rdi) + movw %r10w, 490(%rdi) + movb 369(%rsi), %r8b + movb 370(%rsi), %r9b + movb 371(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 492(%rdi) + movw %r10w, 494(%rdi) + movb 372(%rsi), %r8b + movb 373(%rsi), %r9b + movb 374(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 496(%rdi) + movw %r10w, 498(%rdi) + movb 375(%rsi), %r8b + movb 376(%rsi), %r9b + movb 377(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 500(%rdi) + movw %r10w, 502(%rdi) + movb 378(%rsi), %r8b + movb 379(%rsi), %r9b + movb 380(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 504(%rdi) + movw %r10w, 506(%rdi) + movb 381(%rsi), %r8b + movb 382(%rsi), %r9b + movb 383(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 508(%rdi) + movw %r10w, 510(%rdi) + ret +L_poly_decompress$1: + movq $0, %rdi + movq $0, %r8 + jmp L_poly_decompress$2 +L_poly_decompress$3: + movb (%rsi,%rdi), %r9b + movzbw %r9b, %r10w + movzbw %r9b, %r9w + andw $15, %r10w + shrw $4, %r9w + imulw $3329, %r10w, %r10w + imulw $3329, %r9w, %r9w + addw $8, %r10w + addw $8, %r9w + shrw $4, %r10w + shrw $4, %r9w + movw %r10w, (%rcx,%r8,2) + incq %r8 + movw %r9w, (%rcx,%r8,2) + incq %r8 + incq %rdi +L_poly_decompress$2: + cmpq $128, %rdi + jb L_poly_decompress$3 + ret +L_i_poly_compress$1: + call L_poly_csubq$1 +L_i_poly_compress$4: + movq $0, %rdx + movq $0, %rsi + jmp L_i_poly_compress$2 +L_i_poly_compress$3: + movw (%rcx,%rsi,2), %di + movzwl %di, %edi + shll $4, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $15, %edi + incq %rsi + movw (%rcx,%rsi,2), %r8w + movzwl %r8w, %r8d + shll $4, %r8d + addl $1665, %r8d + imull $80635, %r8d, %r8d + shrl $28, %r8d + andl $15, %r8d + shll $4, %r8d + orl %r8d, %edi + movb %dil, (%rax,%rdx) + incq %rdx + incq %rsi +L_i_poly_compress$2: + cmpq $128, %rdx + jb L_i_poly_compress$3 + ret +L_poly_compress$1: + call L_poly_csubq$1 +L_poly_compress$4: + movq $0, %rdx + movq $0, %rsi + jmp L_poly_compress$2 +L_poly_compress$3: + movw (%rcx,%rsi,2), %di + movzwl %di, %edi + shll $4, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $15, %edi + incq %rsi + movw (%rcx,%rsi,2), %r8w + movzwl %r8w, %r8d + shll $4, %r8d + addl $1665, %r8d + imull $80635, %r8d, %r8d + shrl $28, %r8d + andl $15, %r8d + shll $4, %r8d + orl %r8d, %edi + movb %dil, (%rax,%rdx) + incq %rdx + incq %rsi +L_poly_compress$2: + cmpq $128, %rdx + jb L_poly_compress$3 + ret +L_poly_basemul$1: + movq %rdi, 8(%rsp) + movq $64, %rdi + movq $0, %r8 + jmp L_poly_basemul$2 +L_poly_basemul$3: + leaq glob_data + 448(%rip), %r9 + movw (%r9,%rdi,2), %r9w + incq %rdi + movw (%rcx,%r8,2), %r10w + movw (%rsi,%r8,2), %r11w + incq %r8 + movw (%rcx,%r8,2), %bx + movw (%rsi,%r8,2), %bp + addq $-1, %r8 + movswl %bx, %r12d + movswl %bp, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r12w, %r12d + movswl %r9w, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r10w, %r13d + movswl %r11w, %r14d + imull %r14d, %r13d + imull $62209, %r13d, %r14d + shll $16, %r14d + sarl $16, %r14d + imull $3329, %r14d, %r14d + subl %r14d, %r13d + sarl $16, %r13d + addw %r13w, %r12w + movswl %r10w, %r10d + movswl %bp, %ebp + imull %ebp, %r10d + imull $62209, %r10d, %ebp + shll $16, %ebp + sarl $16, %ebp + imull $3329, %ebp, %ebp + subl %ebp, %r10d + sarl $16, %r10d + movswl %bx, %ebx + movswl %r11w, %r11d + imull %r11d, %ebx + imull $62209, %ebx, %r11d + shll $16, %r11d + sarl $16, %r11d + imull $3329, %r11d, %r11d + subl %r11d, %ebx + sarl $16, %ebx + addw %bx, %r10w + movq 8(%rsp), %r11 + movw %r12w, (%r11,%r8,2) + incq %r8 + movw %r10w, (%r11,%r8,2) + movq %r11, 16(%rsp) + negw %r9w + incq %r8 + movw (%rcx,%r8,2), %r10w + movw (%rsi,%r8,2), %r11w + incq %r8 + movw (%rcx,%r8,2), %bx + movw (%rsi,%r8,2), %bp + addq $-1, %r8 + movswl %bx, %r12d + movswl %bp, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r12w, %r12d + movswl %r9w, %r9d + imull %r9d, %r12d + imull $62209, %r12d, %r9d + shll $16, %r9d + sarl $16, %r9d + imull $3329, %r9d, %r9d + subl %r9d, %r12d + sarl $16, %r12d + movw %r12w, %r9w + movswl %r10w, %r12d + movswl %r11w, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + addw %r12w, %r9w + movswl %r10w, %r10d + movswl %bp, %ebp + imull %ebp, %r10d + imull $62209, %r10d, %ebp + shll $16, %ebp + sarl $16, %ebp + imull $3329, %ebp, %ebp + subl %ebp, %r10d + sarl $16, %r10d + movswl %bx, %ebx + movswl %r11w, %r11d + imull %r11d, %ebx + imull $62209, %ebx, %r11d + shll $16, %r11d + sarl $16, %r11d + imull $3329, %r11d, %r11d + subl %r11d, %ebx + sarl $16, %ebx + addw %bx, %r10w + movq 16(%rsp), %r11 + movw %r9w, (%r11,%r8,2) + incq %r8 + movw %r10w, (%r11,%r8,2) + incq %r8 +L_poly_basemul$2: + cmpq $256, %r8 + jb L_poly_basemul$3 + ret +L_poly_csubq$1: + movq $0, %r8 + jmp L_poly_csubq$2 +L_poly_csubq$3: + movw (%rcx,%r8,2), %r9w + addw $-3329, %r9w + movw %r9w, %r10w + sarw $15, %r10w + andw $3329, %r10w + addw %r10w, %r9w + movw %r9w, (%rcx,%r8,2) + incq %r8 +L_poly_csubq$2: + cmpq $256, %r8 + jb L_poly_csubq$3 + ret +L_poly_add2$1: + movq $0, %rdi + jmp L_poly_add2$2 +L_poly_add2$3: + movw (%rcx,%rdi,2), %r8w + movw (%rsi,%rdi,2), %r9w + addw %r9w, %r8w + movw %r8w, (%rcx,%rdi,2) + incq %rdi +L_poly_add2$2: + cmpq $256, %rdi + jb L_poly_add2$3 + ret +L_shake256_64$1: + movq %rax, 8(%rsp) + movq %rcx, 16(%rsp) + leaq 24(%rsp), %rax + xorq %rcx, %rcx + movq %rcx, (%rax) + movq %rcx, 8(%rax) + movq %rcx, 16(%rax) + movq %rcx, 24(%rax) + movq %rcx, 32(%rax) + movq %rcx, 40(%rax) + movq %rcx, 48(%rax) + movq %rcx, 56(%rax) + movq %rcx, 64(%rax) + movq %rcx, 72(%rax) + movq %rcx, 80(%rax) + movq %rcx, 88(%rax) + movq %rcx, 96(%rax) + movq %rcx, 104(%rax) + movq %rcx, 112(%rax) + movq %rcx, 120(%rax) + movq %rcx, 128(%rax) + movq %rcx, 136(%rax) + movq %rcx, 144(%rax) + movq %rcx, 152(%rax) + movq %rcx, 160(%rax) + movq %rcx, 168(%rax) + movq %rcx, 176(%rax) + movq %rcx, 184(%rax) + movq %rcx, 192(%rax) + movq (%rdx), %rcx + xorq %rcx, (%rax) + movq 8(%rdx), %rcx + xorq %rcx, 8(%rax) + movq 16(%rdx), %rcx + xorq %rcx, 16(%rax) + movq 24(%rdx), %rcx + xorq %rcx, 24(%rax) + movq 32(%rdx), %rcx + xorq %rcx, 32(%rax) + movq 40(%rdx), %rcx + xorq %rcx, 40(%rax) + movq 48(%rdx), %rcx + xorq %rcx, 48(%rax) + movq 56(%rdx), %rcx + xorq %rcx, 56(%rax) + xorb $31, 64(%rax) + xorb $-128, 135(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_64$9: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rcx + movq 8(%rsp), %rdx + jmp L_shake256_64$6 +L_shake256_64$7: + movq (%rax), %rsi + movq %rsi, (%rdx) + movq 8(%rax), %rsi + movq %rsi, 8(%rdx) + movq 16(%rax), %rsi + movq %rsi, 16(%rdx) + movq 24(%rax), %rsi + movq %rsi, 24(%rdx) + movq 32(%rax), %rsi + movq %rsi, 32(%rdx) + movq 40(%rax), %rsi + movq %rsi, 40(%rdx) + movq 48(%rax), %rsi + movq %rsi, 48(%rdx) + movq 56(%rax), %rsi + movq %rsi, 56(%rdx) + movq 64(%rax), %rsi + movq %rsi, 64(%rdx) + movq 72(%rax), %rsi + movq %rsi, 72(%rdx) + movq 80(%rax), %rsi + movq %rsi, 80(%rdx) + movq 88(%rax), %rsi + movq %rsi, 88(%rdx) + movq 96(%rax), %rsi + movq %rsi, 96(%rdx) + movq 104(%rax), %rsi + movq %rsi, 104(%rdx) + movq 112(%rax), %rsi + movq %rsi, 112(%rdx) + movq 120(%rax), %rsi + movq %rsi, 120(%rdx) + movq 128(%rax), %rsi + movq %rsi, 128(%rdx) + addq $136, %rdx + addq $-136, %rcx + movq %rdx, 8(%rsp) + movq %rcx, 16(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_64$8: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rcx + movq 8(%rsp), %rdx +L_shake256_64$6: + cmpq $136, %rcx + jnbe L_shake256_64$7 + movq %rcx, 8(%rsp) + shrq $3, %rcx + movq $0, %rsi + jmp L_shake256_64$4 +L_shake256_64$5: + movq (%rax,%rsi,8), %rdi + movq %rdi, (%rdx,%rsi,8) + incq %rsi +L_shake256_64$4: + cmpq %rcx, %rsi + jb L_shake256_64$5 + shlq $3, %rsi + movq 8(%rsp), %rcx + jmp L_shake256_64$2 +L_shake256_64$3: + movb (%rax,%rsi), %dil + movb %dil, (%rdx,%rsi) + incq %rsi +L_shake256_64$2: + cmpq %rcx, %rsi + jb L_shake256_64$3 + ret +L_sha3_512_64$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movq (%rcx), %rdx + xorq %rdx, (%rax) + movq 8(%rcx), %rdx + xorq %rdx, 8(%rax) + movq 16(%rcx), %rdx + xorq %rdx, 16(%rax) + movq 24(%rcx), %rdx + xorq %rdx, 24(%rax) + movq 32(%rcx), %rdx + xorq %rdx, 32(%rax) + movq 40(%rcx), %rdx + xorq %rdx, 40(%rax) + movq 48(%rcx), %rdx + xorq %rdx, 48(%rax) + movq 56(%rcx), %rcx + xorq %rcx, 56(%rax) + xorb $6, 64(%rax) + xorb $-128, 71(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_512_64$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movq (%rax), %rdx + movq %rdx, (%rcx) + movq 8(%rax), %rdx + movq %rdx, 8(%rcx) + movq 16(%rax), %rdx + movq %rdx, 16(%rcx) + movq 24(%rax), %rdx + movq %rdx, 24(%rcx) + movq 32(%rax), %rdx + movq %rdx, 32(%rcx) + movq 40(%rax), %rdx + movq %rdx, 40(%rcx) + movq 48(%rax), %rdx + movq %rdx, 48(%rcx) + movq 56(%rax), %rax + movq %rax, 56(%rcx) + ret +L_sha3_256_32$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movq (%rcx), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rcx + movq %rcx, 24(%rax) + xorb $6, 32(%rax) + movb $-128, 135(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256_32$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movq (%rax), %rdx + movq %rdx, (%rcx) + movq 8(%rax), %rdx + movq %rdx, 8(%rcx) + movq 16(%rax), %rdx + movq %rdx, 16(%rcx) + movq 24(%rax), %rax + movq %rax, 24(%rcx) + ret +L_sha3_256$1: + movq %rax, 8(%rsp) + leaq 40(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movq $136, %rdx + jmp L_sha3_256$7 +L_sha3_256$8: + movq %rdx, %rdi + shrq $3, %rdi + movq $0, %r8 + jmp L_sha3_256$10 +L_sha3_256$11: + movq (%rsi,%r8,8), %r9 + xorq %r9, (%rax,%r8,8) + incq %r8 +L_sha3_256$10: + cmpq %rdi, %r8 + jb L_sha3_256$11 + addq %rdx, %rsi + subq %rdx, %rcx + movq %rsi, 16(%rsp) + movq %rcx, 24(%rsp) + movq %rdx, 32(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256$9: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rsi + movq 24(%rsp), %rcx + movq 32(%rsp), %rdx +L_sha3_256$7: + cmpq %rdx, %rcx + jnb L_sha3_256$8 + movb $6, %dil + movq %rcx, %r8 + shrq $3, %r8 + movq $0, %r9 + jmp L_sha3_256$5 +L_sha3_256$6: + movq (%rsi,%r9,8), %r10 + xorq %r10, (%rax,%r9,8) + incq %r9 +L_sha3_256$5: + cmpq %r8, %r9 + jb L_sha3_256$6 + shlq $3, %r9 + jmp L_sha3_256$3 +L_sha3_256$4: + movb (%rsi,%r9), %r8b + xorb %r8b, (%rax,%r9) + incq %r9 +L_sha3_256$3: + cmpq %rcx, %r9 + jb L_sha3_256$4 + xorb %dil, (%rax,%r9) + addq $-1, %rdx + xorb $-128, (%rax,%rdx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movq (%rax), %rdx + movq %rdx, (%rcx) + movq 8(%rax), %rdx + movq %rdx, 8(%rcx) + movq 16(%rax), %rdx + movq %rdx, 16(%rcx) + movq 24(%rax), %rax + movq %rax, 24(%rcx) + ret +L_shake128_squeezeblock$1: + movq %rcx, 8(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake128_squeezeblock$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movb (%rax), %dl + movb %dl, (%rcx) + movb 1(%rax), %dl + movb %dl, 1(%rcx) + movb 2(%rax), %dl + movb %dl, 2(%rcx) + movb 3(%rax), %dl + movb %dl, 3(%rcx) + movb 4(%rax), %dl + movb %dl, 4(%rcx) + movb 5(%rax), %dl + movb %dl, 5(%rcx) + movb 6(%rax), %dl + movb %dl, 6(%rcx) + movb 7(%rax), %dl + movb %dl, 7(%rcx) + movb 8(%rax), %dl + movb %dl, 8(%rcx) + movb 9(%rax), %dl + movb %dl, 9(%rcx) + movb 10(%rax), %dl + movb %dl, 10(%rcx) + movb 11(%rax), %dl + movb %dl, 11(%rcx) + movb 12(%rax), %dl + movb %dl, 12(%rcx) + movb 13(%rax), %dl + movb %dl, 13(%rcx) + movb 14(%rax), %dl + movb %dl, 14(%rcx) + movb 15(%rax), %dl + movb %dl, 15(%rcx) + movb 16(%rax), %dl + movb %dl, 16(%rcx) + movb 17(%rax), %dl + movb %dl, 17(%rcx) + movb 18(%rax), %dl + movb %dl, 18(%rcx) + movb 19(%rax), %dl + movb %dl, 19(%rcx) + movb 20(%rax), %dl + movb %dl, 20(%rcx) + movb 21(%rax), %dl + movb %dl, 21(%rcx) + movb 22(%rax), %dl + movb %dl, 22(%rcx) + movb 23(%rax), %dl + movb %dl, 23(%rcx) + movb 24(%rax), %dl + movb %dl, 24(%rcx) + movb 25(%rax), %dl + movb %dl, 25(%rcx) + movb 26(%rax), %dl + movb %dl, 26(%rcx) + movb 27(%rax), %dl + movb %dl, 27(%rcx) + movb 28(%rax), %dl + movb %dl, 28(%rcx) + movb 29(%rax), %dl + movb %dl, 29(%rcx) + movb 30(%rax), %dl + movb %dl, 30(%rcx) + movb 31(%rax), %dl + movb %dl, 31(%rcx) + movb 32(%rax), %dl + movb %dl, 32(%rcx) + movb 33(%rax), %dl + movb %dl, 33(%rcx) + movb 34(%rax), %dl + movb %dl, 34(%rcx) + movb 35(%rax), %dl + movb %dl, 35(%rcx) + movb 36(%rax), %dl + movb %dl, 36(%rcx) + movb 37(%rax), %dl + movb %dl, 37(%rcx) + movb 38(%rax), %dl + movb %dl, 38(%rcx) + movb 39(%rax), %dl + movb %dl, 39(%rcx) + movb 40(%rax), %dl + movb %dl, 40(%rcx) + movb 41(%rax), %dl + movb %dl, 41(%rcx) + movb 42(%rax), %dl + movb %dl, 42(%rcx) + movb 43(%rax), %dl + movb %dl, 43(%rcx) + movb 44(%rax), %dl + movb %dl, 44(%rcx) + movb 45(%rax), %dl + movb %dl, 45(%rcx) + movb 46(%rax), %dl + movb %dl, 46(%rcx) + movb 47(%rax), %dl + movb %dl, 47(%rcx) + movb 48(%rax), %dl + movb %dl, 48(%rcx) + movb 49(%rax), %dl + movb %dl, 49(%rcx) + movb 50(%rax), %dl + movb %dl, 50(%rcx) + movb 51(%rax), %dl + movb %dl, 51(%rcx) + movb 52(%rax), %dl + movb %dl, 52(%rcx) + movb 53(%rax), %dl + movb %dl, 53(%rcx) + movb 54(%rax), %dl + movb %dl, 54(%rcx) + movb 55(%rax), %dl + movb %dl, 55(%rcx) + movb 56(%rax), %dl + movb %dl, 56(%rcx) + movb 57(%rax), %dl + movb %dl, 57(%rcx) + movb 58(%rax), %dl + movb %dl, 58(%rcx) + movb 59(%rax), %dl + movb %dl, 59(%rcx) + movb 60(%rax), %dl + movb %dl, 60(%rcx) + movb 61(%rax), %dl + movb %dl, 61(%rcx) + movb 62(%rax), %dl + movb %dl, 62(%rcx) + movb 63(%rax), %dl + movb %dl, 63(%rcx) + movb 64(%rax), %dl + movb %dl, 64(%rcx) + movb 65(%rax), %dl + movb %dl, 65(%rcx) + movb 66(%rax), %dl + movb %dl, 66(%rcx) + movb 67(%rax), %dl + movb %dl, 67(%rcx) + movb 68(%rax), %dl + movb %dl, 68(%rcx) + movb 69(%rax), %dl + movb %dl, 69(%rcx) + movb 70(%rax), %dl + movb %dl, 70(%rcx) + movb 71(%rax), %dl + movb %dl, 71(%rcx) + movb 72(%rax), %dl + movb %dl, 72(%rcx) + movb 73(%rax), %dl + movb %dl, 73(%rcx) + movb 74(%rax), %dl + movb %dl, 74(%rcx) + movb 75(%rax), %dl + movb %dl, 75(%rcx) + movb 76(%rax), %dl + movb %dl, 76(%rcx) + movb 77(%rax), %dl + movb %dl, 77(%rcx) + movb 78(%rax), %dl + movb %dl, 78(%rcx) + movb 79(%rax), %dl + movb %dl, 79(%rcx) + movb 80(%rax), %dl + movb %dl, 80(%rcx) + movb 81(%rax), %dl + movb %dl, 81(%rcx) + movb 82(%rax), %dl + movb %dl, 82(%rcx) + movb 83(%rax), %dl + movb %dl, 83(%rcx) + movb 84(%rax), %dl + movb %dl, 84(%rcx) + movb 85(%rax), %dl + movb %dl, 85(%rcx) + movb 86(%rax), %dl + movb %dl, 86(%rcx) + movb 87(%rax), %dl + movb %dl, 87(%rcx) + movb 88(%rax), %dl + movb %dl, 88(%rcx) + movb 89(%rax), %dl + movb %dl, 89(%rcx) + movb 90(%rax), %dl + movb %dl, 90(%rcx) + movb 91(%rax), %dl + movb %dl, 91(%rcx) + movb 92(%rax), %dl + movb %dl, 92(%rcx) + movb 93(%rax), %dl + movb %dl, 93(%rcx) + movb 94(%rax), %dl + movb %dl, 94(%rcx) + movb 95(%rax), %dl + movb %dl, 95(%rcx) + movb 96(%rax), %dl + movb %dl, 96(%rcx) + movb 97(%rax), %dl + movb %dl, 97(%rcx) + movb 98(%rax), %dl + movb %dl, 98(%rcx) + movb 99(%rax), %dl + movb %dl, 99(%rcx) + movb 100(%rax), %dl + movb %dl, 100(%rcx) + movb 101(%rax), %dl + movb %dl, 101(%rcx) + movb 102(%rax), %dl + movb %dl, 102(%rcx) + movb 103(%rax), %dl + movb %dl, 103(%rcx) + movb 104(%rax), %dl + movb %dl, 104(%rcx) + movb 105(%rax), %dl + movb %dl, 105(%rcx) + movb 106(%rax), %dl + movb %dl, 106(%rcx) + movb 107(%rax), %dl + movb %dl, 107(%rcx) + movb 108(%rax), %dl + movb %dl, 108(%rcx) + movb 109(%rax), %dl + movb %dl, 109(%rcx) + movb 110(%rax), %dl + movb %dl, 110(%rcx) + movb 111(%rax), %dl + movb %dl, 111(%rcx) + movb 112(%rax), %dl + movb %dl, 112(%rcx) + movb 113(%rax), %dl + movb %dl, 113(%rcx) + movb 114(%rax), %dl + movb %dl, 114(%rcx) + movb 115(%rax), %dl + movb %dl, 115(%rcx) + movb 116(%rax), %dl + movb %dl, 116(%rcx) + movb 117(%rax), %dl + movb %dl, 117(%rcx) + movb 118(%rax), %dl + movb %dl, 118(%rcx) + movb 119(%rax), %dl + movb %dl, 119(%rcx) + movb 120(%rax), %dl + movb %dl, 120(%rcx) + movb 121(%rax), %dl + movb %dl, 121(%rcx) + movb 122(%rax), %dl + movb %dl, 122(%rcx) + movb 123(%rax), %dl + movb %dl, 123(%rcx) + movb 124(%rax), %dl + movb %dl, 124(%rcx) + movb 125(%rax), %dl + movb %dl, 125(%rcx) + movb 126(%rax), %dl + movb %dl, 126(%rcx) + movb 127(%rax), %dl + movb %dl, 127(%rcx) + movb 128(%rax), %dl + movb %dl, 128(%rcx) + movb 129(%rax), %dl + movb %dl, 129(%rcx) + movb 130(%rax), %dl + movb %dl, 130(%rcx) + movb 131(%rax), %dl + movb %dl, 131(%rcx) + movb 132(%rax), %dl + movb %dl, 132(%rcx) + movb 133(%rax), %dl + movb %dl, 133(%rcx) + movb 134(%rax), %dl + movb %dl, 134(%rcx) + movb 135(%rax), %dl + movb %dl, 135(%rcx) + movb 136(%rax), %dl + movb %dl, 136(%rcx) + movb 137(%rax), %dl + movb %dl, 137(%rcx) + movb 138(%rax), %dl + movb %dl, 138(%rcx) + movb 139(%rax), %dl + movb %dl, 139(%rcx) + movb 140(%rax), %dl + movb %dl, 140(%rcx) + movb 141(%rax), %dl + movb %dl, 141(%rcx) + movb 142(%rax), %dl + movb %dl, 142(%rcx) + movb 143(%rax), %dl + movb %dl, 143(%rcx) + movb 144(%rax), %dl + movb %dl, 144(%rcx) + movb 145(%rax), %dl + movb %dl, 145(%rcx) + movb 146(%rax), %dl + movb %dl, 146(%rcx) + movb 147(%rax), %dl + movb %dl, 147(%rcx) + movb 148(%rax), %dl + movb %dl, 148(%rcx) + movb 149(%rax), %dl + movb %dl, 149(%rcx) + movb 150(%rax), %dl + movb %dl, 150(%rcx) + movb 151(%rax), %dl + movb %dl, 151(%rcx) + movb 152(%rax), %dl + movb %dl, 152(%rcx) + movb 153(%rax), %dl + movb %dl, 153(%rcx) + movb 154(%rax), %dl + movb %dl, 154(%rcx) + movb 155(%rax), %dl + movb %dl, 155(%rcx) + movb 156(%rax), %dl + movb %dl, 156(%rcx) + movb 157(%rax), %dl + movb %dl, 157(%rcx) + movb 158(%rax), %dl + movb %dl, 158(%rcx) + movb 159(%rax), %dl + movb %dl, 159(%rcx) + movb 160(%rax), %dl + movb %dl, 160(%rcx) + movb 161(%rax), %dl + movb %dl, 161(%rcx) + movb 162(%rax), %dl + movb %dl, 162(%rcx) + movb 163(%rax), %dl + movb %dl, 163(%rcx) + movb 164(%rax), %dl + movb %dl, 164(%rcx) + movb 165(%rax), %dl + movb %dl, 165(%rcx) + movb 166(%rax), %dl + movb %dl, 166(%rcx) + movb 167(%rax), %al + movb %al, 167(%rcx) + ret +L_shake128_absorb34$1: + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movb (%rcx), %dl + xorb %dl, (%rax) + movb 1(%rcx), %dl + xorb %dl, 1(%rax) + movb 2(%rcx), %dl + xorb %dl, 2(%rax) + movb 3(%rcx), %dl + xorb %dl, 3(%rax) + movb 4(%rcx), %dl + xorb %dl, 4(%rax) + movb 5(%rcx), %dl + xorb %dl, 5(%rax) + movb 6(%rcx), %dl + xorb %dl, 6(%rax) + movb 7(%rcx), %dl + xorb %dl, 7(%rax) + movb 8(%rcx), %dl + xorb %dl, 8(%rax) + movb 9(%rcx), %dl + xorb %dl, 9(%rax) + movb 10(%rcx), %dl + xorb %dl, 10(%rax) + movb 11(%rcx), %dl + xorb %dl, 11(%rax) + movb 12(%rcx), %dl + xorb %dl, 12(%rax) + movb 13(%rcx), %dl + xorb %dl, 13(%rax) + movb 14(%rcx), %dl + xorb %dl, 14(%rax) + movb 15(%rcx), %dl + xorb %dl, 15(%rax) + movb 16(%rcx), %dl + xorb %dl, 16(%rax) + movb 17(%rcx), %dl + xorb %dl, 17(%rax) + movb 18(%rcx), %dl + xorb %dl, 18(%rax) + movb 19(%rcx), %dl + xorb %dl, 19(%rax) + movb 20(%rcx), %dl + xorb %dl, 20(%rax) + movb 21(%rcx), %dl + xorb %dl, 21(%rax) + movb 22(%rcx), %dl + xorb %dl, 22(%rax) + movb 23(%rcx), %dl + xorb %dl, 23(%rax) + movb 24(%rcx), %dl + xorb %dl, 24(%rax) + movb 25(%rcx), %dl + xorb %dl, 25(%rax) + movb 26(%rcx), %dl + xorb %dl, 26(%rax) + movb 27(%rcx), %dl + xorb %dl, 27(%rax) + movb 28(%rcx), %dl + xorb %dl, 28(%rax) + movb 29(%rcx), %dl + xorb %dl, 29(%rax) + movb 30(%rcx), %dl + xorb %dl, 30(%rax) + movb 31(%rcx), %dl + xorb %dl, 31(%rax) + movb 32(%rcx), %dl + xorb %dl, 32(%rax) + movb 33(%rcx), %cl + xorb %cl, 33(%rax) + xorb $31, 34(%rax) + xorb $-128, 167(%rax) + ret +L_sha3_512_32$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movb (%rcx), %dl + xorb %dl, (%rax) + movb 1(%rcx), %dl + xorb %dl, 1(%rax) + movb 2(%rcx), %dl + xorb %dl, 2(%rax) + movb 3(%rcx), %dl + xorb %dl, 3(%rax) + movb 4(%rcx), %dl + xorb %dl, 4(%rax) + movb 5(%rcx), %dl + xorb %dl, 5(%rax) + movb 6(%rcx), %dl + xorb %dl, 6(%rax) + movb 7(%rcx), %dl + xorb %dl, 7(%rax) + movb 8(%rcx), %dl + xorb %dl, 8(%rax) + movb 9(%rcx), %dl + xorb %dl, 9(%rax) + movb 10(%rcx), %dl + xorb %dl, 10(%rax) + movb 11(%rcx), %dl + xorb %dl, 11(%rax) + movb 12(%rcx), %dl + xorb %dl, 12(%rax) + movb 13(%rcx), %dl + xorb %dl, 13(%rax) + movb 14(%rcx), %dl + xorb %dl, 14(%rax) + movb 15(%rcx), %dl + xorb %dl, 15(%rax) + movb 16(%rcx), %dl + xorb %dl, 16(%rax) + movb 17(%rcx), %dl + xorb %dl, 17(%rax) + movb 18(%rcx), %dl + xorb %dl, 18(%rax) + movb 19(%rcx), %dl + xorb %dl, 19(%rax) + movb 20(%rcx), %dl + xorb %dl, 20(%rax) + movb 21(%rcx), %dl + xorb %dl, 21(%rax) + movb 22(%rcx), %dl + xorb %dl, 22(%rax) + movb 23(%rcx), %dl + xorb %dl, 23(%rax) + movb 24(%rcx), %dl + xorb %dl, 24(%rax) + movb 25(%rcx), %dl + xorb %dl, 25(%rax) + movb 26(%rcx), %dl + xorb %dl, 26(%rax) + movb 27(%rcx), %dl + xorb %dl, 27(%rax) + movb 28(%rcx), %dl + xorb %dl, 28(%rax) + movb 29(%rcx), %dl + xorb %dl, 29(%rax) + movb 30(%rcx), %dl + xorb %dl, 30(%rax) + movb 31(%rcx), %cl + xorb %cl, 31(%rax) + xorb $6, 32(%rax) + xorb $-128, 71(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_512_32$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movb (%rax), %dl + movb %dl, (%rcx) + movb 1(%rax), %dl + movb %dl, 1(%rcx) + movb 2(%rax), %dl + movb %dl, 2(%rcx) + movb 3(%rax), %dl + movb %dl, 3(%rcx) + movb 4(%rax), %dl + movb %dl, 4(%rcx) + movb 5(%rax), %dl + movb %dl, 5(%rcx) + movb 6(%rax), %dl + movb %dl, 6(%rcx) + movb 7(%rax), %dl + movb %dl, 7(%rcx) + movb 8(%rax), %dl + movb %dl, 8(%rcx) + movb 9(%rax), %dl + movb %dl, 9(%rcx) + movb 10(%rax), %dl + movb %dl, 10(%rcx) + movb 11(%rax), %dl + movb %dl, 11(%rcx) + movb 12(%rax), %dl + movb %dl, 12(%rcx) + movb 13(%rax), %dl + movb %dl, 13(%rcx) + movb 14(%rax), %dl + movb %dl, 14(%rcx) + movb 15(%rax), %dl + movb %dl, 15(%rcx) + movb 16(%rax), %dl + movb %dl, 16(%rcx) + movb 17(%rax), %dl + movb %dl, 17(%rcx) + movb 18(%rax), %dl + movb %dl, 18(%rcx) + movb 19(%rax), %dl + movb %dl, 19(%rcx) + movb 20(%rax), %dl + movb %dl, 20(%rcx) + movb 21(%rax), %dl + movb %dl, 21(%rcx) + movb 22(%rax), %dl + movb %dl, 22(%rcx) + movb 23(%rax), %dl + movb %dl, 23(%rcx) + movb 24(%rax), %dl + movb %dl, 24(%rcx) + movb 25(%rax), %dl + movb %dl, 25(%rcx) + movb 26(%rax), %dl + movb %dl, 26(%rcx) + movb 27(%rax), %dl + movb %dl, 27(%rcx) + movb 28(%rax), %dl + movb %dl, 28(%rcx) + movb 29(%rax), %dl + movb %dl, 29(%rcx) + movb 30(%rax), %dl + movb %dl, 30(%rcx) + movb 31(%rax), %dl + movb %dl, 31(%rcx) + movb 32(%rax), %dl + movb %dl, 32(%rcx) + movb 33(%rax), %dl + movb %dl, 33(%rcx) + movb 34(%rax), %dl + movb %dl, 34(%rcx) + movb 35(%rax), %dl + movb %dl, 35(%rcx) + movb 36(%rax), %dl + movb %dl, 36(%rcx) + movb 37(%rax), %dl + movb %dl, 37(%rcx) + movb 38(%rax), %dl + movb %dl, 38(%rcx) + movb 39(%rax), %dl + movb %dl, 39(%rcx) + movb 40(%rax), %dl + movb %dl, 40(%rcx) + movb 41(%rax), %dl + movb %dl, 41(%rcx) + movb 42(%rax), %dl + movb %dl, 42(%rcx) + movb 43(%rax), %dl + movb %dl, 43(%rcx) + movb 44(%rax), %dl + movb %dl, 44(%rcx) + movb 45(%rax), %dl + movb %dl, 45(%rcx) + movb 46(%rax), %dl + movb %dl, 46(%rcx) + movb 47(%rax), %dl + movb %dl, 47(%rcx) + movb 48(%rax), %dl + movb %dl, 48(%rcx) + movb 49(%rax), %dl + movb %dl, 49(%rcx) + movb 50(%rax), %dl + movb %dl, 50(%rcx) + movb 51(%rax), %dl + movb %dl, 51(%rcx) + movb 52(%rax), %dl + movb %dl, 52(%rcx) + movb 53(%rax), %dl + movb %dl, 53(%rcx) + movb 54(%rax), %dl + movb %dl, 54(%rcx) + movb 55(%rax), %dl + movb %dl, 55(%rcx) + movb 56(%rax), %dl + movb %dl, 56(%rcx) + movb 57(%rax), %dl + movb %dl, 57(%rcx) + movb 58(%rax), %dl + movb %dl, 58(%rcx) + movb 59(%rax), %dl + movb %dl, 59(%rcx) + movb 60(%rax), %dl + movb %dl, 60(%rcx) + movb 61(%rax), %dl + movb %dl, 61(%rcx) + movb 62(%rax), %dl + movb %dl, 62(%rcx) + movb 63(%rax), %al + movb %al, 63(%rcx) + ret +L_shake256_192_33$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movb (%rcx), %dl + xorb %dl, (%rax) + movb 1(%rcx), %dl + xorb %dl, 1(%rax) + movb 2(%rcx), %dl + xorb %dl, 2(%rax) + movb 3(%rcx), %dl + xorb %dl, 3(%rax) + movb 4(%rcx), %dl + xorb %dl, 4(%rax) + movb 5(%rcx), %dl + xorb %dl, 5(%rax) + movb 6(%rcx), %dl + xorb %dl, 6(%rax) + movb 7(%rcx), %dl + xorb %dl, 7(%rax) + movb 8(%rcx), %dl + xorb %dl, 8(%rax) + movb 9(%rcx), %dl + xorb %dl, 9(%rax) + movb 10(%rcx), %dl + xorb %dl, 10(%rax) + movb 11(%rcx), %dl + xorb %dl, 11(%rax) + movb 12(%rcx), %dl + xorb %dl, 12(%rax) + movb 13(%rcx), %dl + xorb %dl, 13(%rax) + movb 14(%rcx), %dl + xorb %dl, 14(%rax) + movb 15(%rcx), %dl + xorb %dl, 15(%rax) + movb 16(%rcx), %dl + xorb %dl, 16(%rax) + movb 17(%rcx), %dl + xorb %dl, 17(%rax) + movb 18(%rcx), %dl + xorb %dl, 18(%rax) + movb 19(%rcx), %dl + xorb %dl, 19(%rax) + movb 20(%rcx), %dl + xorb %dl, 20(%rax) + movb 21(%rcx), %dl + xorb %dl, 21(%rax) + movb 22(%rcx), %dl + xorb %dl, 22(%rax) + movb 23(%rcx), %dl + xorb %dl, 23(%rax) + movb 24(%rcx), %dl + xorb %dl, 24(%rax) + movb 25(%rcx), %dl + xorb %dl, 25(%rax) + movb 26(%rcx), %dl + xorb %dl, 26(%rax) + movb 27(%rcx), %dl + xorb %dl, 27(%rax) + movb 28(%rcx), %dl + xorb %dl, 28(%rax) + movb 29(%rcx), %dl + xorb %dl, 29(%rax) + movb 30(%rcx), %dl + xorb %dl, 30(%rax) + movb 31(%rcx), %dl + xorb %dl, 31(%rax) + movb 32(%rcx), %cl + xorb %cl, 32(%rax) + xorb $31, 33(%rax) + xorb $-128, 135(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_192_33$3: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movb (%rax), %dl + movb %dl, (%rcx) + movb 1(%rax), %dl + movb %dl, 1(%rcx) + movb 2(%rax), %dl + movb %dl, 2(%rcx) + movb 3(%rax), %dl + movb %dl, 3(%rcx) + movb 4(%rax), %dl + movb %dl, 4(%rcx) + movb 5(%rax), %dl + movb %dl, 5(%rcx) + movb 6(%rax), %dl + movb %dl, 6(%rcx) + movb 7(%rax), %dl + movb %dl, 7(%rcx) + movb 8(%rax), %dl + movb %dl, 8(%rcx) + movb 9(%rax), %dl + movb %dl, 9(%rcx) + movb 10(%rax), %dl + movb %dl, 10(%rcx) + movb 11(%rax), %dl + movb %dl, 11(%rcx) + movb 12(%rax), %dl + movb %dl, 12(%rcx) + movb 13(%rax), %dl + movb %dl, 13(%rcx) + movb 14(%rax), %dl + movb %dl, 14(%rcx) + movb 15(%rax), %dl + movb %dl, 15(%rcx) + movb 16(%rax), %dl + movb %dl, 16(%rcx) + movb 17(%rax), %dl + movb %dl, 17(%rcx) + movb 18(%rax), %dl + movb %dl, 18(%rcx) + movb 19(%rax), %dl + movb %dl, 19(%rcx) + movb 20(%rax), %dl + movb %dl, 20(%rcx) + movb 21(%rax), %dl + movb %dl, 21(%rcx) + movb 22(%rax), %dl + movb %dl, 22(%rcx) + movb 23(%rax), %dl + movb %dl, 23(%rcx) + movb 24(%rax), %dl + movb %dl, 24(%rcx) + movb 25(%rax), %dl + movb %dl, 25(%rcx) + movb 26(%rax), %dl + movb %dl, 26(%rcx) + movb 27(%rax), %dl + movb %dl, 27(%rcx) + movb 28(%rax), %dl + movb %dl, 28(%rcx) + movb 29(%rax), %dl + movb %dl, 29(%rcx) + movb 30(%rax), %dl + movb %dl, 30(%rcx) + movb 31(%rax), %dl + movb %dl, 31(%rcx) + movb 32(%rax), %dl + movb %dl, 32(%rcx) + movb 33(%rax), %dl + movb %dl, 33(%rcx) + movb 34(%rax), %dl + movb %dl, 34(%rcx) + movb 35(%rax), %dl + movb %dl, 35(%rcx) + movb 36(%rax), %dl + movb %dl, 36(%rcx) + movb 37(%rax), %dl + movb %dl, 37(%rcx) + movb 38(%rax), %dl + movb %dl, 38(%rcx) + movb 39(%rax), %dl + movb %dl, 39(%rcx) + movb 40(%rax), %dl + movb %dl, 40(%rcx) + movb 41(%rax), %dl + movb %dl, 41(%rcx) + movb 42(%rax), %dl + movb %dl, 42(%rcx) + movb 43(%rax), %dl + movb %dl, 43(%rcx) + movb 44(%rax), %dl + movb %dl, 44(%rcx) + movb 45(%rax), %dl + movb %dl, 45(%rcx) + movb 46(%rax), %dl + movb %dl, 46(%rcx) + movb 47(%rax), %dl + movb %dl, 47(%rcx) + movb 48(%rax), %dl + movb %dl, 48(%rcx) + movb 49(%rax), %dl + movb %dl, 49(%rcx) + movb 50(%rax), %dl + movb %dl, 50(%rcx) + movb 51(%rax), %dl + movb %dl, 51(%rcx) + movb 52(%rax), %dl + movb %dl, 52(%rcx) + movb 53(%rax), %dl + movb %dl, 53(%rcx) + movb 54(%rax), %dl + movb %dl, 54(%rcx) + movb 55(%rax), %dl + movb %dl, 55(%rcx) + movb 56(%rax), %dl + movb %dl, 56(%rcx) + movb 57(%rax), %dl + movb %dl, 57(%rcx) + movb 58(%rax), %dl + movb %dl, 58(%rcx) + movb 59(%rax), %dl + movb %dl, 59(%rcx) + movb 60(%rax), %dl + movb %dl, 60(%rcx) + movb 61(%rax), %dl + movb %dl, 61(%rcx) + movb 62(%rax), %dl + movb %dl, 62(%rcx) + movb 63(%rax), %dl + movb %dl, 63(%rcx) + movb 64(%rax), %dl + movb %dl, 64(%rcx) + movb 65(%rax), %dl + movb %dl, 65(%rcx) + movb 66(%rax), %dl + movb %dl, 66(%rcx) + movb 67(%rax), %dl + movb %dl, 67(%rcx) + movb 68(%rax), %dl + movb %dl, 68(%rcx) + movb 69(%rax), %dl + movb %dl, 69(%rcx) + movb 70(%rax), %dl + movb %dl, 70(%rcx) + movb 71(%rax), %dl + movb %dl, 71(%rcx) + movb 72(%rax), %dl + movb %dl, 72(%rcx) + movb 73(%rax), %dl + movb %dl, 73(%rcx) + movb 74(%rax), %dl + movb %dl, 74(%rcx) + movb 75(%rax), %dl + movb %dl, 75(%rcx) + movb 76(%rax), %dl + movb %dl, 76(%rcx) + movb 77(%rax), %dl + movb %dl, 77(%rcx) + movb 78(%rax), %dl + movb %dl, 78(%rcx) + movb 79(%rax), %dl + movb %dl, 79(%rcx) + movb 80(%rax), %dl + movb %dl, 80(%rcx) + movb 81(%rax), %dl + movb %dl, 81(%rcx) + movb 82(%rax), %dl + movb %dl, 82(%rcx) + movb 83(%rax), %dl + movb %dl, 83(%rcx) + movb 84(%rax), %dl + movb %dl, 84(%rcx) + movb 85(%rax), %dl + movb %dl, 85(%rcx) + movb 86(%rax), %dl + movb %dl, 86(%rcx) + movb 87(%rax), %dl + movb %dl, 87(%rcx) + movb 88(%rax), %dl + movb %dl, 88(%rcx) + movb 89(%rax), %dl + movb %dl, 89(%rcx) + movb 90(%rax), %dl + movb %dl, 90(%rcx) + movb 91(%rax), %dl + movb %dl, 91(%rcx) + movb 92(%rax), %dl + movb %dl, 92(%rcx) + movb 93(%rax), %dl + movb %dl, 93(%rcx) + movb 94(%rax), %dl + movb %dl, 94(%rcx) + movb 95(%rax), %dl + movb %dl, 95(%rcx) + movb 96(%rax), %dl + movb %dl, 96(%rcx) + movb 97(%rax), %dl + movb %dl, 97(%rcx) + movb 98(%rax), %dl + movb %dl, 98(%rcx) + movb 99(%rax), %dl + movb %dl, 99(%rcx) + movb 100(%rax), %dl + movb %dl, 100(%rcx) + movb 101(%rax), %dl + movb %dl, 101(%rcx) + movb 102(%rax), %dl + movb %dl, 102(%rcx) + movb 103(%rax), %dl + movb %dl, 103(%rcx) + movb 104(%rax), %dl + movb %dl, 104(%rcx) + movb 105(%rax), %dl + movb %dl, 105(%rcx) + movb 106(%rax), %dl + movb %dl, 106(%rcx) + movb 107(%rax), %dl + movb %dl, 107(%rcx) + movb 108(%rax), %dl + movb %dl, 108(%rcx) + movb 109(%rax), %dl + movb %dl, 109(%rcx) + movb 110(%rax), %dl + movb %dl, 110(%rcx) + movb 111(%rax), %dl + movb %dl, 111(%rcx) + movb 112(%rax), %dl + movb %dl, 112(%rcx) + movb 113(%rax), %dl + movb %dl, 113(%rcx) + movb 114(%rax), %dl + movb %dl, 114(%rcx) + movb 115(%rax), %dl + movb %dl, 115(%rcx) + movb 116(%rax), %dl + movb %dl, 116(%rcx) + movb 117(%rax), %dl + movb %dl, 117(%rcx) + movb 118(%rax), %dl + movb %dl, 118(%rcx) + movb 119(%rax), %dl + movb %dl, 119(%rcx) + movb 120(%rax), %dl + movb %dl, 120(%rcx) + movb 121(%rax), %dl + movb %dl, 121(%rcx) + movb 122(%rax), %dl + movb %dl, 122(%rcx) + movb 123(%rax), %dl + movb %dl, 123(%rcx) + movb 124(%rax), %dl + movb %dl, 124(%rcx) + movb 125(%rax), %dl + movb %dl, 125(%rcx) + movb 126(%rax), %dl + movb %dl, 126(%rcx) + movb 127(%rax), %dl + movb %dl, 127(%rcx) + movb 128(%rax), %dl + movb %dl, 128(%rcx) + movb 129(%rax), %dl + movb %dl, 129(%rcx) + movb 130(%rax), %dl + movb %dl, 130(%rcx) + movb 131(%rax), %dl + movb %dl, 131(%rcx) + movb 132(%rax), %dl + movb %dl, 132(%rcx) + movb 133(%rax), %dl + movb %dl, 133(%rcx) + movb 134(%rax), %dl + movb %dl, 134(%rcx) + movb 135(%rax), %dl + movb %dl, 135(%rcx) + movq %rcx, 8(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_192_33$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movb (%rax), %dl + movb %dl, 136(%rcx) + movb 1(%rax), %dl + movb %dl, 137(%rcx) + movb 2(%rax), %dl + movb %dl, 138(%rcx) + movb 3(%rax), %dl + movb %dl, 139(%rcx) + movb 4(%rax), %dl + movb %dl, 140(%rcx) + movb 5(%rax), %dl + movb %dl, 141(%rcx) + movb 6(%rax), %dl + movb %dl, 142(%rcx) + movb 7(%rax), %dl + movb %dl, 143(%rcx) + movb 8(%rax), %dl + movb %dl, 144(%rcx) + movb 9(%rax), %dl + movb %dl, 145(%rcx) + movb 10(%rax), %dl + movb %dl, 146(%rcx) + movb 11(%rax), %dl + movb %dl, 147(%rcx) + movb 12(%rax), %dl + movb %dl, 148(%rcx) + movb 13(%rax), %dl + movb %dl, 149(%rcx) + movb 14(%rax), %dl + movb %dl, 150(%rcx) + movb 15(%rax), %dl + movb %dl, 151(%rcx) + movb 16(%rax), %dl + movb %dl, 152(%rcx) + movb 17(%rax), %dl + movb %dl, 153(%rcx) + movb 18(%rax), %dl + movb %dl, 154(%rcx) + movb 19(%rax), %dl + movb %dl, 155(%rcx) + movb 20(%rax), %dl + movb %dl, 156(%rcx) + movb 21(%rax), %dl + movb %dl, 157(%rcx) + movb 22(%rax), %dl + movb %dl, 158(%rcx) + movb 23(%rax), %dl + movb %dl, 159(%rcx) + movb 24(%rax), %dl + movb %dl, 160(%rcx) + movb 25(%rax), %dl + movb %dl, 161(%rcx) + movb 26(%rax), %dl + movb %dl, 162(%rcx) + movb 27(%rax), %dl + movb %dl, 163(%rcx) + movb 28(%rax), %dl + movb %dl, 164(%rcx) + movb 29(%rax), %dl + movb %dl, 165(%rcx) + movb 30(%rax), %dl + movb %dl, 166(%rcx) + movb 31(%rax), %dl + movb %dl, 167(%rcx) + movb 32(%rax), %dl + movb %dl, 168(%rcx) + movb 33(%rax), %dl + movb %dl, 169(%rcx) + movb 34(%rax), %dl + movb %dl, 170(%rcx) + movb 35(%rax), %dl + movb %dl, 171(%rcx) + movb 36(%rax), %dl + movb %dl, 172(%rcx) + movb 37(%rax), %dl + movb %dl, 173(%rcx) + movb 38(%rax), %dl + movb %dl, 174(%rcx) + movb 39(%rax), %dl + movb %dl, 175(%rcx) + movb 40(%rax), %dl + movb %dl, 176(%rcx) + movb 41(%rax), %dl + movb %dl, 177(%rcx) + movb 42(%rax), %dl + movb %dl, 178(%rcx) + movb 43(%rax), %dl + movb %dl, 179(%rcx) + movb 44(%rax), %dl + movb %dl, 180(%rcx) + movb 45(%rax), %dl + movb %dl, 181(%rcx) + movb 46(%rax), %dl + movb %dl, 182(%rcx) + movb 47(%rax), %dl + movb %dl, 183(%rcx) + movb 48(%rax), %dl + movb %dl, 184(%rcx) + movb 49(%rax), %dl + movb %dl, 185(%rcx) + movb 50(%rax), %dl + movb %dl, 186(%rcx) + movb 51(%rax), %dl + movb %dl, 187(%rcx) + movb 52(%rax), %dl + movb %dl, 188(%rcx) + movb 53(%rax), %dl + movb %dl, 189(%rcx) + movb 54(%rax), %dl + movb %dl, 190(%rcx) + movb 55(%rax), %al + movb %al, 191(%rcx) + ret +L_shake256_128_33$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rax + xorq %rdx, %rdx + movq %rdx, (%rax) + movq %rdx, 8(%rax) + movq %rdx, 16(%rax) + movq %rdx, 24(%rax) + movq %rdx, 32(%rax) + movq %rdx, 40(%rax) + movq %rdx, 48(%rax) + movq %rdx, 56(%rax) + movq %rdx, 64(%rax) + movq %rdx, 72(%rax) + movq %rdx, 80(%rax) + movq %rdx, 88(%rax) + movq %rdx, 96(%rax) + movq %rdx, 104(%rax) + movq %rdx, 112(%rax) + movq %rdx, 120(%rax) + movq %rdx, 128(%rax) + movq %rdx, 136(%rax) + movq %rdx, 144(%rax) + movq %rdx, 152(%rax) + movq %rdx, 160(%rax) + movq %rdx, 168(%rax) + movq %rdx, 176(%rax) + movq %rdx, 184(%rax) + movq %rdx, 192(%rax) + movb (%rcx), %dl + xorb %dl, (%rax) + movb 1(%rcx), %dl + xorb %dl, 1(%rax) + movb 2(%rcx), %dl + xorb %dl, 2(%rax) + movb 3(%rcx), %dl + xorb %dl, 3(%rax) + movb 4(%rcx), %dl + xorb %dl, 4(%rax) + movb 5(%rcx), %dl + xorb %dl, 5(%rax) + movb 6(%rcx), %dl + xorb %dl, 6(%rax) + movb 7(%rcx), %dl + xorb %dl, 7(%rax) + movb 8(%rcx), %dl + xorb %dl, 8(%rax) + movb 9(%rcx), %dl + xorb %dl, 9(%rax) + movb 10(%rcx), %dl + xorb %dl, 10(%rax) + movb 11(%rcx), %dl + xorb %dl, 11(%rax) + movb 12(%rcx), %dl + xorb %dl, 12(%rax) + movb 13(%rcx), %dl + xorb %dl, 13(%rax) + movb 14(%rcx), %dl + xorb %dl, 14(%rax) + movb 15(%rcx), %dl + xorb %dl, 15(%rax) + movb 16(%rcx), %dl + xorb %dl, 16(%rax) + movb 17(%rcx), %dl + xorb %dl, 17(%rax) + movb 18(%rcx), %dl + xorb %dl, 18(%rax) + movb 19(%rcx), %dl + xorb %dl, 19(%rax) + movb 20(%rcx), %dl + xorb %dl, 20(%rax) + movb 21(%rcx), %dl + xorb %dl, 21(%rax) + movb 22(%rcx), %dl + xorb %dl, 22(%rax) + movb 23(%rcx), %dl + xorb %dl, 23(%rax) + movb 24(%rcx), %dl + xorb %dl, 24(%rax) + movb 25(%rcx), %dl + xorb %dl, 25(%rax) + movb 26(%rcx), %dl + xorb %dl, 26(%rax) + movb 27(%rcx), %dl + xorb %dl, 27(%rax) + movb 28(%rcx), %dl + xorb %dl, 28(%rax) + movb 29(%rcx), %dl + xorb %dl, 29(%rax) + movb 30(%rcx), %dl + xorb %dl, 30(%rax) + movb 31(%rcx), %dl + xorb %dl, 31(%rax) + movb 32(%rcx), %cl + xorb %cl, 32(%rax) + xorb $31, 33(%rax) + xorb $-128, 135(%rax) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_128_33$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rcx + movb (%rax), %dl + movb %dl, (%rcx) + movb 1(%rax), %dl + movb %dl, 1(%rcx) + movb 2(%rax), %dl + movb %dl, 2(%rcx) + movb 3(%rax), %dl + movb %dl, 3(%rcx) + movb 4(%rax), %dl + movb %dl, 4(%rcx) + movb 5(%rax), %dl + movb %dl, 5(%rcx) + movb 6(%rax), %dl + movb %dl, 6(%rcx) + movb 7(%rax), %dl + movb %dl, 7(%rcx) + movb 8(%rax), %dl + movb %dl, 8(%rcx) + movb 9(%rax), %dl + movb %dl, 9(%rcx) + movb 10(%rax), %dl + movb %dl, 10(%rcx) + movb 11(%rax), %dl + movb %dl, 11(%rcx) + movb 12(%rax), %dl + movb %dl, 12(%rcx) + movb 13(%rax), %dl + movb %dl, 13(%rcx) + movb 14(%rax), %dl + movb %dl, 14(%rcx) + movb 15(%rax), %dl + movb %dl, 15(%rcx) + movb 16(%rax), %dl + movb %dl, 16(%rcx) + movb 17(%rax), %dl + movb %dl, 17(%rcx) + movb 18(%rax), %dl + movb %dl, 18(%rcx) + movb 19(%rax), %dl + movb %dl, 19(%rcx) + movb 20(%rax), %dl + movb %dl, 20(%rcx) + movb 21(%rax), %dl + movb %dl, 21(%rcx) + movb 22(%rax), %dl + movb %dl, 22(%rcx) + movb 23(%rax), %dl + movb %dl, 23(%rcx) + movb 24(%rax), %dl + movb %dl, 24(%rcx) + movb 25(%rax), %dl + movb %dl, 25(%rcx) + movb 26(%rax), %dl + movb %dl, 26(%rcx) + movb 27(%rax), %dl + movb %dl, 27(%rcx) + movb 28(%rax), %dl + movb %dl, 28(%rcx) + movb 29(%rax), %dl + movb %dl, 29(%rcx) + movb 30(%rax), %dl + movb %dl, 30(%rcx) + movb 31(%rax), %dl + movb %dl, 31(%rcx) + movb 32(%rax), %dl + movb %dl, 32(%rcx) + movb 33(%rax), %dl + movb %dl, 33(%rcx) + movb 34(%rax), %dl + movb %dl, 34(%rcx) + movb 35(%rax), %dl + movb %dl, 35(%rcx) + movb 36(%rax), %dl + movb %dl, 36(%rcx) + movb 37(%rax), %dl + movb %dl, 37(%rcx) + movb 38(%rax), %dl + movb %dl, 38(%rcx) + movb 39(%rax), %dl + movb %dl, 39(%rcx) + movb 40(%rax), %dl + movb %dl, 40(%rcx) + movb 41(%rax), %dl + movb %dl, 41(%rcx) + movb 42(%rax), %dl + movb %dl, 42(%rcx) + movb 43(%rax), %dl + movb %dl, 43(%rcx) + movb 44(%rax), %dl + movb %dl, 44(%rcx) + movb 45(%rax), %dl + movb %dl, 45(%rcx) + movb 46(%rax), %dl + movb %dl, 46(%rcx) + movb 47(%rax), %dl + movb %dl, 47(%rcx) + movb 48(%rax), %dl + movb %dl, 48(%rcx) + movb 49(%rax), %dl + movb %dl, 49(%rcx) + movb 50(%rax), %dl + movb %dl, 50(%rcx) + movb 51(%rax), %dl + movb %dl, 51(%rcx) + movb 52(%rax), %dl + movb %dl, 52(%rcx) + movb 53(%rax), %dl + movb %dl, 53(%rcx) + movb 54(%rax), %dl + movb %dl, 54(%rcx) + movb 55(%rax), %dl + movb %dl, 55(%rcx) + movb 56(%rax), %dl + movb %dl, 56(%rcx) + movb 57(%rax), %dl + movb %dl, 57(%rcx) + movb 58(%rax), %dl + movb %dl, 58(%rcx) + movb 59(%rax), %dl + movb %dl, 59(%rcx) + movb 60(%rax), %dl + movb %dl, 60(%rcx) + movb 61(%rax), %dl + movb %dl, 61(%rcx) + movb 62(%rax), %dl + movb %dl, 62(%rcx) + movb 63(%rax), %dl + movb %dl, 63(%rcx) + movb 64(%rax), %dl + movb %dl, 64(%rcx) + movb 65(%rax), %dl + movb %dl, 65(%rcx) + movb 66(%rax), %dl + movb %dl, 66(%rcx) + movb 67(%rax), %dl + movb %dl, 67(%rcx) + movb 68(%rax), %dl + movb %dl, 68(%rcx) + movb 69(%rax), %dl + movb %dl, 69(%rcx) + movb 70(%rax), %dl + movb %dl, 70(%rcx) + movb 71(%rax), %dl + movb %dl, 71(%rcx) + movb 72(%rax), %dl + movb %dl, 72(%rcx) + movb 73(%rax), %dl + movb %dl, 73(%rcx) + movb 74(%rax), %dl + movb %dl, 74(%rcx) + movb 75(%rax), %dl + movb %dl, 75(%rcx) + movb 76(%rax), %dl + movb %dl, 76(%rcx) + movb 77(%rax), %dl + movb %dl, 77(%rcx) + movb 78(%rax), %dl + movb %dl, 78(%rcx) + movb 79(%rax), %dl + movb %dl, 79(%rcx) + movb 80(%rax), %dl + movb %dl, 80(%rcx) + movb 81(%rax), %dl + movb %dl, 81(%rcx) + movb 82(%rax), %dl + movb %dl, 82(%rcx) + movb 83(%rax), %dl + movb %dl, 83(%rcx) + movb 84(%rax), %dl + movb %dl, 84(%rcx) + movb 85(%rax), %dl + movb %dl, 85(%rcx) + movb 86(%rax), %dl + movb %dl, 86(%rcx) + movb 87(%rax), %dl + movb %dl, 87(%rcx) + movb 88(%rax), %dl + movb %dl, 88(%rcx) + movb 89(%rax), %dl + movb %dl, 89(%rcx) + movb 90(%rax), %dl + movb %dl, 90(%rcx) + movb 91(%rax), %dl + movb %dl, 91(%rcx) + movb 92(%rax), %dl + movb %dl, 92(%rcx) + movb 93(%rax), %dl + movb %dl, 93(%rcx) + movb 94(%rax), %dl + movb %dl, 94(%rcx) + movb 95(%rax), %dl + movb %dl, 95(%rcx) + movb 96(%rax), %dl + movb %dl, 96(%rcx) + movb 97(%rax), %dl + movb %dl, 97(%rcx) + movb 98(%rax), %dl + movb %dl, 98(%rcx) + movb 99(%rax), %dl + movb %dl, 99(%rcx) + movb 100(%rax), %dl + movb %dl, 100(%rcx) + movb 101(%rax), %dl + movb %dl, 101(%rcx) + movb 102(%rax), %dl + movb %dl, 102(%rcx) + movb 103(%rax), %dl + movb %dl, 103(%rcx) + movb 104(%rax), %dl + movb %dl, 104(%rcx) + movb 105(%rax), %dl + movb %dl, 105(%rcx) + movb 106(%rax), %dl + movb %dl, 106(%rcx) + movb 107(%rax), %dl + movb %dl, 107(%rcx) + movb 108(%rax), %dl + movb %dl, 108(%rcx) + movb 109(%rax), %dl + movb %dl, 109(%rcx) + movb 110(%rax), %dl + movb %dl, 110(%rcx) + movb 111(%rax), %dl + movb %dl, 111(%rcx) + movb 112(%rax), %dl + movb %dl, 112(%rcx) + movb 113(%rax), %dl + movb %dl, 113(%rcx) + movb 114(%rax), %dl + movb %dl, 114(%rcx) + movb 115(%rax), %dl + movb %dl, 115(%rcx) + movb 116(%rax), %dl + movb %dl, 116(%rcx) + movb 117(%rax), %dl + movb %dl, 117(%rcx) + movb 118(%rax), %dl + movb %dl, 118(%rcx) + movb 119(%rax), %dl + movb %dl, 119(%rcx) + movb 120(%rax), %dl + movb %dl, 120(%rcx) + movb 121(%rax), %dl + movb %dl, 121(%rcx) + movb 122(%rax), %dl + movb %dl, 122(%rcx) + movb 123(%rax), %dl + movb %dl, 123(%rcx) + movb 124(%rax), %dl + movb %dl, 124(%rcx) + movb 125(%rax), %dl + movb %dl, 125(%rcx) + movb 126(%rax), %dl + movb %dl, 126(%rcx) + movb 127(%rax), %al + movb %al, 127(%rcx) + ret +L_keccakf1600_ref1$1: + leaq glob_data + 0(%rip), %rcx + movq %rcx, 8(%rsp) + leaq 32(%rsp), %rcx + movq $0, %r10 + jmp L_keccakf1600_ref1$2 +L_keccakf1600_ref1$3: + movq %r10, 16(%rsp) + movq 8(%rsp), %rdx + movq (%rdx,%r10,8), %rdx + movq %rdx, 24(%rsp) + movq (%rax), %r9 + movq 8(%rax), %r8 + movq 16(%rax), %r11 + movq 24(%rax), %rbx + movq 32(%rax), %rbp + xorq 40(%rax), %r9 + xorq 48(%rax), %r8 + xorq 56(%rax), %r11 + xorq 64(%rax), %rbx + xorq 72(%rax), %rbp + xorq 80(%rax), %r9 + xorq 88(%rax), %r8 + xorq 96(%rax), %r11 + xorq 104(%rax), %rbx + xorq 112(%rax), %rbp + xorq 120(%rax), %r9 + xorq 128(%rax), %r8 + xorq 136(%rax), %r11 + xorq 144(%rax), %rbx + xorq 152(%rax), %rbp + xorq 160(%rax), %r9 + xorq 168(%rax), %r8 + xorq 176(%rax), %r11 + xorq 184(%rax), %rbx + xorq 192(%rax), %rbp + movq %r8, %rdx + rolq $1, %rdx + xorq %rbp, %rdx + movq %r11, %rsi + rolq $1, %rsi + xorq %r9, %rsi + movq %rbx, %rdi + rolq $1, %rdi + xorq %r8, %rdi + movq %rbp, %r8 + rolq $1, %r8 + xorq %r11, %r8 + rolq $1, %r9 + xorq %rbx, %r9 + movq (%rax), %r11 + xorq %rdx, %r11 + movq 48(%rax), %rbx + xorq %rsi, %rbx + rolq $44, %rbx + movq 96(%rax), %rbp + xorq %rdi, %rbp + rolq $43, %rbp + movq 144(%rax), %r12 + xorq %r8, %r12 + rolq $21, %r12 + movq 192(%rax), %r13 + xorq %r9, %r13 + rolq $14, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + xorq 24(%rsp), %r14 + movq %r14, (%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 8(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 16(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 24(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 32(%rcx) + movq 24(%rax), %r11 + xorq %r8, %r11 + rolq $28, %r11 + movq 72(%rax), %rbx + xorq %r9, %rbx + rolq $20, %rbx + movq 80(%rax), %rbp + xorq %rdx, %rbp + rolq $3, %rbp + movq 128(%rax), %r12 + xorq %rsi, %r12 + rolq $45, %r12 + movq 176(%rax), %r13 + xorq %rdi, %r13 + rolq $61, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 40(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 48(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 56(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 64(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 72(%rcx) + movq 8(%rax), %r11 + xorq %rsi, %r11 + rolq $1, %r11 + movq 56(%rax), %rbx + xorq %rdi, %rbx + rolq $6, %rbx + movq 104(%rax), %rbp + xorq %r8, %rbp + rolq $25, %rbp + movq 152(%rax), %r12 + xorq %r9, %r12 + rolq $8, %r12 + movq 160(%rax), %r13 + xorq %rdx, %r13 + rolq $18, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 80(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 88(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 96(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 104(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 112(%rcx) + movq 32(%rax), %r11 + xorq %r9, %r11 + rolq $27, %r11 + movq 40(%rax), %rbx + xorq %rdx, %rbx + rolq $36, %rbx + movq 88(%rax), %rbp + xorq %rsi, %rbp + rolq $10, %rbp + movq 136(%rax), %r12 + xorq %rdi, %r12 + rolq $15, %r12 + movq 184(%rax), %r13 + xorq %r8, %r13 + rolq $56, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 120(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 128(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 136(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 144(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 152(%rcx) + movq 16(%rax), %r11 + xorq %rdi, %r11 + rolq $62, %r11 + movq 64(%rax), %rdi + xorq %r8, %rdi + rolq $55, %rdi + movq 112(%rax), %r8 + xorq %r9, %r8 + rolq $39, %r8 + movq 120(%rax), %r9 + xorq %rdx, %r9 + rolq $41, %r9 + movq 168(%rax), %rdx + xorq %rsi, %rdx + rolq $2, %rdx + movq %rdi, %rsi + notq %rsi + andq %r8, %rsi + xorq %r11, %rsi + movq %rsi, 160(%rcx) + movq %r8, %rsi + notq %rsi + andq %r9, %rsi + xorq %rdi, %rsi + movq %rsi, 168(%rcx) + movq %r9, %rsi + notq %rsi + andq %rdx, %rsi + xorq %r8, %rsi + movq %rsi, 176(%rcx) + movq %rdx, %rsi + notq %rsi + andq %r11, %rsi + xorq %r9, %rsi + movq %rsi, 184(%rcx) + notq %r11 + andq %rdi, %r11 + xorq %rdx, %r11 + movq %r11, 192(%rcx) + movq 8(%rsp), %rdx + movq 8(%rdx,%r10,8), %rdx + movq %rdx, 24(%rsp) + movq (%rcx), %r9 + movq 8(%rcx), %r8 + movq 16(%rcx), %r10 + movq 24(%rcx), %r11 + movq 32(%rcx), %rbx + xorq 40(%rcx), %r9 + xorq 48(%rcx), %r8 + xorq 56(%rcx), %r10 + xorq 64(%rcx), %r11 + xorq 72(%rcx), %rbx + xorq 80(%rcx), %r9 + xorq 88(%rcx), %r8 + xorq 96(%rcx), %r10 + xorq 104(%rcx), %r11 + xorq 112(%rcx), %rbx + xorq 120(%rcx), %r9 + xorq 128(%rcx), %r8 + xorq 136(%rcx), %r10 + xorq 144(%rcx), %r11 + xorq 152(%rcx), %rbx + xorq 160(%rcx), %r9 + xorq 168(%rcx), %r8 + xorq 176(%rcx), %r10 + xorq 184(%rcx), %r11 + xorq 192(%rcx), %rbx + movq %r8, %rdx + rolq $1, %rdx + xorq %rbx, %rdx + movq %r10, %rsi + rolq $1, %rsi + xorq %r9, %rsi + movq %r11, %rdi + rolq $1, %rdi + xorq %r8, %rdi + movq %rbx, %r8 + rolq $1, %r8 + xorq %r10, %r8 + rolq $1, %r9 + xorq %r11, %r9 + movq (%rcx), %r10 + xorq %rdx, %r10 + movq 48(%rcx), %r11 + xorq %rsi, %r11 + rolq $44, %r11 + movq 96(%rcx), %r12 + xorq %rdi, %r12 + rolq $43, %r12 + movq 144(%rcx), %rbx + xorq %r8, %rbx + rolq $21, %rbx + movq 192(%rcx), %rbp + xorq %r9, %rbp + rolq $14, %rbp + movq %r11, %r13 + notq %r13 + andq %r12, %r13 + xorq %r10, %r13 + xorq 24(%rsp), %r13 + movq %r13, (%rax) + movq %r12, %r13 + notq %r13 + andq %rbx, %r13 + xorq %r11, %r13 + movq %r13, 8(%rax) + movq %rbx, %r13 + notq %r13 + andq %rbp, %r13 + xorq %r12, %r13 + movq %r13, 16(%rax) + movq %rbp, %r12 + notq %r12 + andq %r10, %r12 + xorq %rbx, %r12 + movq %r12, 24(%rax) + notq %r10 + andq %r11, %r10 + xorq %rbp, %r10 + movq %r10, 32(%rax) + movq 24(%rcx), %r10 + xorq %r8, %r10 + rolq $28, %r10 + movq 72(%rcx), %r11 + xorq %r9, %r11 + rolq $20, %r11 + movq 80(%rcx), %r12 + xorq %rdx, %r12 + rolq $3, %r12 + movq 128(%rcx), %rbx + xorq %rsi, %rbx + rolq $45, %rbx + movq 176(%rcx), %rbp + xorq %rdi, %rbp + rolq $61, %rbp + movq %r11, %r13 + notq %r13 + andq %r12, %r13 + xorq %r10, %r13 + movq %r13, 40(%rax) + movq %r12, %r13 + notq %r13 + andq %rbx, %r13 + xorq %r11, %r13 + movq %r13, 48(%rax) + movq %rbx, %r13 + notq %r13 + andq %rbp, %r13 + xorq %r12, %r13 + movq %r13, 56(%rax) + movq %rbp, %r12 + notq %r12 + andq %r10, %r12 + xorq %rbx, %r12 + movq %r12, 64(%rax) + notq %r10 + andq %r11, %r10 + xorq %rbp, %r10 + movq %r10, 72(%rax) + movq 8(%rcx), %r10 + xorq %rsi, %r10 + rolq $1, %r10 + movq 56(%rcx), %r11 + xorq %rdi, %r11 + rolq $6, %r11 + movq 104(%rcx), %r12 + xorq %r8, %r12 + rolq $25, %r12 + movq 152(%rcx), %rbx + xorq %r9, %rbx + rolq $8, %rbx + movq 160(%rcx), %rbp + xorq %rdx, %rbp + rolq $18, %rbp + movq %r11, %r13 + notq %r13 + andq %r12, %r13 + xorq %r10, %r13 + movq %r13, 80(%rax) + movq %r12, %r13 + notq %r13 + andq %rbx, %r13 + xorq %r11, %r13 + movq %r13, 88(%rax) + movq %rbx, %r13 + notq %r13 + andq %rbp, %r13 + xorq %r12, %r13 + movq %r13, 96(%rax) + movq %rbp, %r12 + notq %r12 + andq %r10, %r12 + xorq %rbx, %r12 + movq %r12, 104(%rax) + notq %r10 + andq %r11, %r10 + xorq %rbp, %r10 + movq %r10, 112(%rax) + movq 32(%rcx), %r10 + xorq %r9, %r10 + rolq $27, %r10 + movq 40(%rcx), %r11 + xorq %rdx, %r11 + rolq $36, %r11 + movq 88(%rcx), %r12 + xorq %rsi, %r12 + rolq $10, %r12 + movq 136(%rcx), %rbx + xorq %rdi, %rbx + rolq $15, %rbx + movq 184(%rcx), %rbp + xorq %r8, %rbp + rolq $56, %rbp + movq %r11, %r13 + notq %r13 + andq %r12, %r13 + xorq %r10, %r13 + movq %r13, 120(%rax) + movq %r12, %r13 + notq %r13 + andq %rbx, %r13 + xorq %r11, %r13 + movq %r13, 128(%rax) + movq %rbx, %r13 + notq %r13 + andq %rbp, %r13 + xorq %r12, %r13 + movq %r13, 136(%rax) + movq %rbp, %r12 + notq %r12 + andq %r10, %r12 + xorq %rbx, %r12 + movq %r12, 144(%rax) + notq %r10 + andq %r11, %r10 + xorq %rbp, %r10 + movq %r10, 152(%rax) + movq 16(%rcx), %r10 + xorq %rdi, %r10 + rolq $62, %r10 + movq 64(%rcx), %rdi + xorq %r8, %rdi + rolq $55, %rdi + movq 112(%rcx), %r8 + xorq %r9, %r8 + rolq $39, %r8 + movq 120(%rcx), %r9 + xorq %rdx, %r9 + rolq $41, %r9 + movq 168(%rcx), %rdx + xorq %rsi, %rdx + rolq $2, %rdx + movq %rdi, %rsi + notq %rsi + andq %r8, %rsi + xorq %r10, %rsi + movq %rsi, 160(%rax) + movq %r8, %rsi + notq %rsi + andq %r9, %rsi + xorq %rdi, %rsi + movq %rsi, 168(%rax) + movq %r9, %rsi + notq %rsi + andq %rdx, %rsi + xorq %r8, %rsi + movq %rsi, 176(%rax) + movq %rdx, %rsi + notq %rsi + andq %r10, %rsi + xorq %r9, %rsi + movq %rsi, 184(%rax) + notq %r10 + andq %rdi, %r10 + xorq %rdx, %r10 + movq %r10, 192(%rax) + movq 16(%rsp), %r10 + addq $2, %r10 +L_keccakf1600_ref1$2: + cmpq $23, %r10 + jb L_keccakf1600_ref1$3 + ret + .data + .p2align 5 +_glob_data: +glob_data: + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -91 + .byte 6 + .byte 15 + .byte 7 + .byte -76 + .byte 5 + .byte 67 + .byte 9 + .byte 34 + .byte 9 + .byte 29 + .byte 9 + .byte 52 + .byte 1 + .byte 108 + .byte 0 + .byte 35 + .byte 11 + .byte 102 + .byte 3 + .byte 86 + .byte 3 + .byte -26 + .byte 5 + .byte -25 + .byte 9 + .byte -2 + .byte 4 + .byte -6 + .byte 5 + .byte -95 + .byte 4 + .byte 123 + .byte 6 + .byte -93 + .byte 4 + .byte 37 + .byte 12 + .byte 106 + .byte 3 + .byte 55 + .byte 5 + .byte 63 + .byte 8 + .byte -120 + .byte 0 + .byte -65 + .byte 4 + .byte -127 + .byte 11 + .byte -71 + .byte 5 + .byte 5 + .byte 5 + .byte -41 + .byte 7 + .byte -97 + .byte 10 + .byte -90 + .byte 10 + .byte -72 + .byte 8 + .byte -48 + .byte 9 + .byte 75 + .byte 0 + .byte -100 + .byte 0 + .byte -72 + .byte 11 + .byte 95 + .byte 11 + .byte -92 + .byte 11 + .byte 104 + .byte 3 + .byte 125 + .byte 10 + .byte 54 + .byte 6 + .byte -94 + .byte 8 + .byte 90 + .byte 2 + .byte 54 + .byte 7 + .byte 9 + .byte 3 + .byte -109 + .byte 0 + .byte 122 + .byte 8 + .byte -9 + .byte 9 + .byte -10 + .byte 0 + .byte -116 + .byte 6 + .byte -37 + .byte 6 + .byte -52 + .byte 1 + .byte 35 + .byte 1 + .byte -21 + .byte 0 + .byte 80 + .byte 12 + .byte -74 + .byte 10 + .byte 91 + .byte 11 + .byte -104 + .byte 12 + .byte -13 + .byte 6 + .byte -102 + .byte 9 + .byte -29 + .byte 4 + .byte -74 + .byte 9 + .byte -42 + .byte 10 + .byte 83 + .byte 11 + .byte 79 + .byte 4 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte -19 + .byte 5 + .byte 103 + .byte 1 + .byte -10 + .byte 2 + .byte -95 + .byte 5 + .byte -19 + .byte 8 + .byte 11 + .byte 10 + .byte -102 + .byte 11 + .byte 20 + .byte 7 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte -78 + .byte 8 + .byte -82 + .byte 1 + .byte 43 + .byte 2 + .byte 75 + .byte 3 + .byte 30 + .byte 8 + .byte 103 + .byte 3 + .byte 14 + .byte 6 + .byte 105 + .byte 0 + .byte -90 + .byte 1 + .byte 75 + .byte 2 + .byte -79 + .byte 0 + .byte 22 + .byte 12 + .byte -34 + .byte 11 + .byte 53 + .byte 11 + .byte 38 + .byte 6 + .byte 117 + .byte 6 + .byte 11 + .byte 12 + .byte 10 + .byte 3 + .byte -121 + .byte 4 + .byte 110 + .byte 12 + .byte -8 + .byte 9 + .byte -53 + .byte 5 + .byte -89 + .byte 10 + .byte 95 + .byte 4 + .byte -53 + .byte 6 + .byte -124 + .byte 2 + .byte -103 + .byte 9 + .byte 93 + .byte 1 + .byte -94 + .byte 1 + .byte 73 + .byte 1 + .byte 101 + .byte 12 + .byte -74 + .byte 12 + .byte 49 + .byte 3 + .byte 73 + .byte 4 + .byte 91 + .byte 2 + .byte 98 + .byte 2 + .byte 42 + .byte 5 + .byte -4 + .byte 7 + .byte 72 + .byte 7 + .byte -128 + .byte 1 + .byte 66 + .byte 8 + .byte 121 + .byte 12 + .byte -62 + .byte 4 + .byte -54 + .byte 7 + .byte -105 + .byte 9 + .byte -36 + .byte 0 + .byte 94 + .byte 8 + .byte -122 + .byte 6 + .byte 96 + .byte 8 + .byte 7 + .byte 7 + .byte 3 + .byte 8 + .byte 26 + .byte 3 + .byte 27 + .byte 7 + .byte -85 + .byte 9 + .byte -101 + .byte 9 + .byte -34 + .byte 1 + .byte -107 + .byte 12 + .byte -51 + .byte 11 + .byte -28 + .byte 3 + .byte -33 + .byte 3 + .byte -66 + .byte 3 + .byte 77 + .byte 7 + .byte -14 + .byte 5 + .byte 92 + .byte 6 diff --git a/src/kem/kyber/libjade_kyber768_avx2/api.c b/src/kem/kyber/libjade_kyber768_avx2/api.c new file mode 100644 index 000000000..d5046c43a --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_avx2/api.c @@ -0,0 +1,19 @@ +#include +#include "api.h" + +int libjade_kyber768_avx2_keypair(uint8_t *public_key, uint8_t *secret_key) { + uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES]; + OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2); + OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES/2); + return jade_kem_kyber_kyber768_amd64_avx2_keypair_derand(public_key, secret_key, keypair_coins); +} + +int libjade_kyber768_avx2_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { + uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES]; + OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES); + return jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ciphertext, shared_secret, public_key, enc_coins); +} + +int libjade_kyber768_avx2_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { + return jade_kem_kyber_kyber768_amd64_avx2_dec(shared_secret, ciphertext, secret_key); +} diff --git a/src/kem/kyber/libjade_kyber768_avx2/api.h b/src/kem/kyber/libjade_kyber768_avx2/api.h new file mode 100644 index 000000000..ac365776f --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_avx2/api.h @@ -0,0 +1,45 @@ +#ifndef JADE_KEM_kyber_kyber768_amd64_avx2_API_H +#define JADE_KEM_kyber_kyber768_amd64_avx2_API_H + +#include + +#define JADE_KEM_kyber_kyber768_amd64_avx2_KEYPAIRCOINBYTES 64 +#define JADE_KEM_kyber_kyber768_amd64_avx2_ENCCOINBYTES 32 + +int jade_kem_kyber_kyber768_amd64_avx2_keypair_derand( + uint8_t *public_key, + uint8_t *secret_key, + const uint8_t *coins +); + +int libjade_kyber768_avx2_keypair( + uint8_t *public_key, + uint8_t *secret_key +); + +int jade_kem_kyber_kyber768_amd64_avx2_enc_derand( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key, + const uint8_t *coins +); + +int libjade_kyber768_avx2_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +); + +int jade_kem_kyber_kyber768_amd64_avx2_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +int libjade_kyber768_avx2_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +#endif diff --git a/src/kem/kyber/libjade_kyber768_avx2/kem.S b/src/kem/kyber/libjade_kyber768_avx2/kem.S new file mode 100644 index 000000000..29d39b042 --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_avx2/kem.S @@ -0,0 +1,26125 @@ + .att_syntax + .text + .p2align 5 + .globl _jade_kem_kyber_kyber768_amd64_avx2_dec + .globl jade_kem_kyber_kyber768_amd64_avx2_dec + .globl _jade_kem_kyber_kyber768_amd64_avx2_enc + .globl jade_kem_kyber_kyber768_amd64_avx2_enc + .globl _jade_kem_kyber_kyber768_amd64_avx2_enc_derand + .globl jade_kem_kyber_kyber768_amd64_avx2_enc_derand + .globl _jade_kem_kyber_kyber768_amd64_avx2_keypair + .globl jade_kem_kyber_kyber768_amd64_avx2_keypair + .globl _jade_kem_kyber_kyber768_amd64_avx2_keypair_derand + .globl jade_kem_kyber_kyber768_amd64_avx2_keypair_derand +_jade_kem_kyber_kyber768_amd64_avx2_dec: +jade_kem_kyber_kyber768_amd64_avx2_dec: + movq %rsp, %rax + leaq -17192(%rsp), %rsp + andq $-32, %rsp + movq %rax, 17184(%rsp) + movq %r12, 17160(%rsp) + movq %rbp, 17168(%rsp) + movq %rbx, 17176(%rsp) + movq %rdi, 17120(%rsp) + movq %rsi, 17128(%rsp) + leaq 32(%rsp), %rax + vpbroadcastd glob_data + 6404(%rip), %ymm0 + vmovdqu glob_data + 64(%rip), %ymm1 + vpbroadcastq glob_data + 6192(%rip), %ymm2 + vpbroadcastd glob_data + 6400(%rip), %ymm3 + vmovdqu (%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6368(%rsp) + vmovdqu 20(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6400(%rsp) + vmovdqu 40(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6432(%rsp) + vmovdqu 60(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6464(%rsp) + vmovdqu 80(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6496(%rsp) + vmovdqu 100(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6528(%rsp) + vmovdqu 120(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6560(%rsp) + vmovdqu 140(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6592(%rsp) + vmovdqu 160(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6624(%rsp) + vmovdqu 180(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6656(%rsp) + vmovdqu 200(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6688(%rsp) + vmovdqu 220(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6720(%rsp) + vmovdqu 240(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6752(%rsp) + vmovdqu 260(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6784(%rsp) + vmovdqu 280(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6816(%rsp) + vmovdqu 300(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6848(%rsp) + vmovdqu 320(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6880(%rsp) + vmovdqu 340(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6912(%rsp) + vmovdqu 360(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6944(%rsp) + vmovdqu 380(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 6976(%rsp) + vmovdqu 400(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7008(%rsp) + vmovdqu 420(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7040(%rsp) + vmovdqu 440(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7072(%rsp) + vmovdqu 460(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7104(%rsp) + vmovdqu 480(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7136(%rsp) + vmovdqu 500(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7168(%rsp) + vmovdqu 520(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7200(%rsp) + vmovdqu 540(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7232(%rsp) + vmovdqu 560(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7264(%rsp) + vmovdqu 580(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7296(%rsp) + vmovdqu 600(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7328(%rsp) + vmovdqu 620(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7360(%rsp) + vmovdqu 640(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7392(%rsp) + vmovdqu 660(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7424(%rsp) + vmovdqu 680(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7456(%rsp) + vmovdqu 700(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7488(%rsp) + vmovdqu 720(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7520(%rsp) + vmovdqu 740(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7552(%rsp) + vmovdqu 760(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7584(%rsp) + vmovdqu 780(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7616(%rsp) + vmovdqu 800(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7648(%rsp) + vmovdqu 820(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7680(%rsp) + vmovdqu 840(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7712(%rsp) + vmovdqu 860(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7744(%rsp) + vmovdqu 880(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7776(%rsp) + vmovdqu 900(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7808(%rsp) + vmovdqu 920(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpsllvd %ymm2, %ymm4, %ymm4 + vpsrlw $1, %ymm4, %ymm4 + vpand %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 7840(%rsp) + vmovdqu 940(%rsi), %ymm4 + vpermq $-108, %ymm4, %ymm4 + vpshufb %ymm1, %ymm4, %ymm1 + vpsllvd %ymm2, %ymm1, %ymm1 + vpsrlw $1, %ymm1, %ymm1 + vpand %ymm3, %ymm1, %ymm1 + vpmulhrsw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm0, 7872(%rsp) + addq $960, %rsi + leaq 2432(%rsp), %rcx + leaq -24(%rsp), %rsp + call L_poly_decompress$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$145: + leaq 24(%rsp), %rsp + movq %rdx, %rsi + leaq 7904(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$144: + addq $384, %rsi + leaq 8416(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$143: + addq $384, %rsi + leaq 8928(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$142: + leaq 6368(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$141: + leaq 6880(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$140: + leaq 7392(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$139: + leaq 2944(%rsp), %rcx + leaq 7904(%rsp), %rsi + leaq 6368(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$138: + leaq 3456(%rsp), %rcx + leaq 8416(%rsp), %rsi + leaq 6880(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$137: + leaq 2944(%rsp), %rcx + leaq 3456(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$136: + leaq 3456(%rsp), %rcx + leaq 8928(%rsp), %rsi + leaq 7392(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$135: + leaq 2944(%rsp), %rcx + leaq 3456(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$134: + leaq 2944(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$133: + leaq 3456(%rsp), %rcx + leaq 2432(%rsp), %rsi + leaq 2944(%rsp), %rdi + call L_poly_sub$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$132: + leaq 3456(%rsp), %rcx + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rcx) + vmovdqu 32(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rcx) + vmovdqu 64(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rcx) + vmovdqu 96(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rcx) + vmovdqu 128(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rcx) + vmovdqu 160(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rcx) + vmovdqu 192(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rcx) + vmovdqu 224(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rcx) + vmovdqu 256(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rcx) + vmovdqu 288(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rcx) + vmovdqu 320(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rcx) + vmovdqu 352(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rcx) + vmovdqu 384(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rcx) + vmovdqu 416(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rcx) + vmovdqu 448(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rcx) + vmovdqu 480(%rcx), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rcx) + leaq 3456(%rsp), %rcx + call L_poly_tomsg_1$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$131: + leaq 32(%rdx), %rax + addq $2304, %rax + movq (%rax), %rcx + movq %rcx, 64(%rsp) + movq 8(%rax), %rcx + movq %rcx, 72(%rsp) + movq 16(%rax), %rcx + movq %rcx, 80(%rsp) + movq 24(%rax), %rax + movq %rax, 88(%rsp) + movq %rdx, 17136(%rsp) + leaq 96(%rsp), %rax + leaq 32(%rsp), %rcx + leaq -248(%rsp), %rsp + call L_sha3_512_64$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$130: + leaq 248(%rsp), %rsp + movq 17136(%rsp), %rax + addq $1152, %rax + leaq 5280(%rsp), %rcx + leaq 32(%rsp), %rdi + leaq 128(%rsp), %rdx + movq %rcx, 17144(%rsp) + movq %rax, %rsi + leaq 6368(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$129: + addq $384, %rsi + leaq 6880(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$128: + addq $384, %rsi + leaq 7392(%rsp), %r8 + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$127: + movq $0, %rcx + addq $1152, %rax + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$125 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$126: + movq (%rax), %rsi + movq %rsi, (%rsp,%rcx,8) + addq $8, %rax + incq %rcx +Ljade_kem_kyber_kyber768_amd64_avx2_dec$125: + cmpq $4, %rcx + jb Ljade_kem_kyber_kyber768_amd64_avx2_dec$126 + leaq 3456(%rsp), %rax + call L_poly_frommsg_1$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$124: + movq %rdx, 17152(%rsp) + vmovdqu (%rsp), %ymm0 + vmovdqu %ymm0, 384(%rsp) + vmovdqu %ymm0, 896(%rsp) + vmovdqu %ymm0, 1408(%rsp) + vmovdqu %ymm0, 1920(%rsp) + vmovdqu %ymm0, (%rsp) + movb $0, 416(%rsp) + movb $0, 417(%rsp) + movb $0, 928(%rsp) + movb $1, 929(%rsp) + movb $0, 1440(%rsp) + movb $2, 1441(%rsp) + movb $1, 1952(%rsp) + movb $0, 1953(%rsp) + leaq 4480(%rsp), %rax + leaq 384(%rsp), %rcx + leaq 896(%rsp), %rdx + leaq 1408(%rsp), %rsi + leaq 1920(%rsp), %rdi + call L_shake128_absorb4x_34$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$123: + leaq 4480(%rsp), %rax + leaq 384(%rsp), %rdi + leaq 896(%rsp), %r8 + leaq 1408(%rsp), %r9 + leaq 1920(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$122: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$121: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$120: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 12512(%rsp), %r11 + leaq 384(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$119: + movq %r12, %rdi + leaq 13024(%rsp), %r11 + leaq 896(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$118: + movq %r12, %r9 + leaq 13536(%rsp), %r11 + leaq 1408(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$117: + movq %r12, %r8 + leaq 14048(%rsp), %r11 + leaq 1920(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$116: + cmpq $255, %rdi + setbe %al + cmpq $255, %r9 + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$93 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$94: + leaq 4480(%rsp), %rax + leaq 384(%rsp), %r10 + leaq 896(%rsp), %r11 + leaq 1408(%rsp), %rbx + leaq 1920(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$115: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 12512(%rsp), %rax + leaq 384(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$110 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$111: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$114 + movw %si, (%rax,%rdi,2) + incq %rdi +Ljade_kem_kyber_kyber768_amd64_avx2_dec$114: + cmpq $256, %rdi + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$112 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$112 + movw %r11w, (%rax,%rdi,2) + incq %rdi +Ljade_kem_kyber_kyber768_amd64_avx2_dec$113: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$112: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$110: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$111 + leaq 13024(%rsp), %rax + leaq 896(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$105 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$106: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$109 + movw %si, (%rax,%r9,2) + incq %r9 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$109: + cmpq $256, %r9 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$107 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$107 + movw %r11w, (%rax,%r9,2) + incq %r9 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$108: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$107: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$105: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$106 + leaq 13536(%rsp), %rax + leaq 1408(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$100 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$101: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$104 + movw %si, (%rax,%r8,2) + incq %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$104: + cmpq $256, %r8 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$102 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$102 + movw %r11w, (%rax,%r8,2) + incq %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$103: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$102: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$100: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$101 + leaq 14048(%rsp), %rax + leaq 1920(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$95 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$96: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$99 + movw %si, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$99: + cmpq $256, %r12 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$97 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$97 + movw %r11w, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$98: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$97: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$95: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$96 + cmpq $255, %rdi + setbe %al + cmpq $255, %r9 + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +Ljade_kem_kyber_kyber768_amd64_avx2_dec$93: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$94 + vmovdqu (%rsp), %ymm0 + vmovdqu %ymm0, 384(%rsp) + vmovdqu %ymm0, 896(%rsp) + vmovdqu %ymm0, 1408(%rsp) + vmovdqu %ymm0, 1920(%rsp) + vmovdqu %ymm0, (%rsp) + movb $1, 416(%rsp) + movb $1, 417(%rsp) + movb $1, 928(%rsp) + movb $2, 929(%rsp) + movb $2, 1440(%rsp) + movb $0, 1441(%rsp) + movb $2, 1952(%rsp) + movb $1, 1953(%rsp) + leaq 4480(%rsp), %rax + leaq 384(%rsp), %rcx + leaq 896(%rsp), %rdx + leaq 1408(%rsp), %rsi + leaq 1920(%rsp), %rdi + call L_shake128_absorb4x_34$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$92: + leaq 4480(%rsp), %rax + leaq 384(%rsp), %rdi + leaq 896(%rsp), %r8 + leaq 1408(%rsp), %r9 + leaq 1920(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$91: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$90: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$89: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 14560(%rsp), %r11 + leaq 384(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$88: + movq %r12, %rdi + leaq 15072(%rsp), %r11 + leaq 896(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$87: + movq %r12, %r8 + leaq 15584(%rsp), %r11 + leaq 1408(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$86: + movq %r12, %r9 + leaq 16096(%rsp), %r11 + leaq 1920(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$85: + cmpq $255, %rdi + setbe %al + cmpq $255, %r8 + setbe %cl + orb %cl, %al + cmpq $255, %r9 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$62 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$63: + leaq 4480(%rsp), %rax + leaq 384(%rsp), %r10 + leaq 896(%rsp), %r11 + leaq 1408(%rsp), %rbx + leaq 1920(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$84: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 14560(%rsp), %rax + leaq 384(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$79 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$80: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$83 + movw %si, (%rax,%rdi,2) + incq %rdi +Ljade_kem_kyber_kyber768_amd64_avx2_dec$83: + cmpq $256, %rdi + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$81 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$81 + movw %r11w, (%rax,%rdi,2) + incq %rdi +Ljade_kem_kyber_kyber768_amd64_avx2_dec$82: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$81: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$79: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$80 + leaq 15072(%rsp), %rax + leaq 896(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$74 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$75: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$78 + movw %si, (%rax,%r8,2) + incq %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$78: + cmpq $256, %r8 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$76 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$76 + movw %r11w, (%rax,%r8,2) + incq %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$77: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$76: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$74: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$75 + leaq 15584(%rsp), %rax + leaq 1408(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$69 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$70: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$73 + movw %si, (%rax,%r9,2) + incq %r9 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$73: + cmpq $256, %r9 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$71 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$71 + movw %r11w, (%rax,%r9,2) + incq %r9 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$72: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$71: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$69: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$70 + leaq 16096(%rsp), %rax + leaq 1920(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$64 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$65: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$68 + movw %si, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$68: + cmpq $256, %r12 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$66 + cmpw $3329, %r11w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$66 + movw %r11w, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$67: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$66: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$64: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$65 + cmpq $255, %rdi + setbe %al + cmpq $255, %r8 + setbe %cl + orb %cl, %al + cmpq $255, %r9 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +Ljade_kem_kyber_kyber768_amd64_avx2_dec$62: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$63 + vmovdqu (%rsp), %ymm0 + vmovdqu %ymm0, 384(%rsp) + movb $2, 416(%rsp) + movb $2, 417(%rsp) + leaq 384(%rsp), %rax + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm0, 256(%rsp) + vmovdqu %ymm0, 288(%rsp) + vmovdqu %ymm0, 320(%rsp) + vmovdqu %ymm0, 352(%rsp) + vpbroadcastq (%rax), %ymm5 + movq 8(%rax), %rcx + movq glob_data + 6208(%rip), %rdx + movq %rcx, 160(%rsp,%rdx,8) + movq 16(%rax), %rcx + movq glob_data + 6216(%rip), %rdx + movq %rcx, 160(%rsp,%rdx,8) + movq 24(%rax), %rcx + movq glob_data + 6224(%rip), %rdx + movq %rcx, 160(%rsp,%rdx,8) + movb 32(%rax), %cl + movq glob_data + 6232(%rip), %rdx + shlq $3, %rdx + movb %cl, 160(%rsp,%rdx) + movb 33(%rax), %al + incq %rdx + movb %al, 160(%rsp,%rdx) + incq %rdx + movb $31, 160(%rsp,%rdx) + movq glob_data + 6360(%rip), %rax + shlq $3, %rax + movq $167, %rcx + andq $7, %rcx + addq %rcx, %rax + movb $-128, 160(%rsp,%rax) + vmovdqu 192(%rsp), %ymm0 + vmovdqu 224(%rsp), %ymm1 + vmovdqu 256(%rsp), %ymm2 + vmovdqu 288(%rsp), %ymm6 + vmovdqu 320(%rsp), %ymm3 + vmovdqu 352(%rsp), %ymm4 + leaq 384(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$61: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$61 + vmovdqu %ymm5, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm1, 224(%rsp) + vmovdqu %ymm2, 256(%rsp) + vmovdqu %ymm6, 288(%rsp) + vmovdqu %ymm3, 320(%rsp) + vmovdqu %ymm4, 352(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 552(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$60: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$60 + vmovdqu %ymm5, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm1, 224(%rsp) + vmovdqu %ymm2, 256(%rsp) + vmovdqu %ymm6, 288(%rsp) + vmovdqu %ymm3, 320(%rsp) + vmovdqu %ymm4, 352(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 720(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$59: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$59 + vmovdqu %ymm5, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm1, 224(%rsp) + vmovdqu %ymm2, 256(%rsp) + vmovdqu %ymm6, 288(%rsp) + vmovdqu %ymm3, 320(%rsp) + vmovdqu %ymm4, 352(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + vmovdqu %ymm5, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm1, 224(%rsp) + vmovdqu %ymm2, 256(%rsp) + vmovdqu %ymm6, 288(%rsp) + vmovdqu %ymm3, 320(%rsp) + vmovdqu %ymm4, 352(%rsp) + leaq 16608(%rsp), %r11 + leaq 384(%rsp), %rbx + call L_rej_uniform_avx$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$58: + cmpq $255, %r12 + setbe %al + vmovdqu 160(%rsp), %ymm6 + vmovdqu 192(%rsp), %ymm0 + vmovdqu 224(%rsp), %ymm1 + vmovdqu 256(%rsp), %ymm2 + vmovdqu 288(%rsp), %ymm3 + vmovdqu 320(%rsp), %ymm4 + vmovdqu 352(%rsp), %ymm5 + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$50 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$51: + leaq 384(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$57: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$57 + vmovdqu %ymm6, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm1, 224(%rsp) + vmovdqu %ymm2, 256(%rsp) + vmovdqu %ymm3, 288(%rsp) + vmovdqu %ymm4, 320(%rsp) + vmovdqu %ymm5, 352(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 160(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 16608(%rsp), %rax + leaq 384(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil + jmp Ljade_kem_kyber_kyber768_amd64_avx2_dec$52 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$53: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw (%rcx,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$56 + movw %si, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$56: + cmpq $256, %r12 + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$54 + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_avx2_dec$54 + movw %r8w, (%rax,%r12,2) + incq %r12 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$55: +Ljade_kem_kyber_kyber768_amd64_avx2_dec$54: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil +Ljade_kem_kyber_kyber768_amd64_avx2_dec$52: + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$53 + cmpq $255, %r12 + setbe %al +Ljade_kem_kyber_kyber768_amd64_avx2_dec$50: + cmpb $0, %al + jne Ljade_kem_kyber_kyber768_amd64_avx2_dec$51 + leaq 12512(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$49: + leaq 13024(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$48: + leaq 13536(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$47: + leaq 14048(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$46: + leaq 14560(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$45: + leaq 15072(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$44: + leaq 15584(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$43: + leaq 16096(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$42: + leaq 16608(%rsp), %rax + call L_nttunpack$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$41: + movq 17152(%rsp), %r10 + movb $0, %cl + leaq 9440(%rsp), %rax + leaq 9952(%rsp), %rdi + leaq 10464(%rsp), %r8 + leaq 7904(%rsp), %r9 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$40: + leaq 1496(%rsp), %rsp + movb $4, %cl + leaq 8416(%rsp), %rax + leaq 8928(%rsp), %rdi + leaq 2944(%rsp), %r8 + leaq 10976(%rsp), %r9 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$39: + leaq 1496(%rsp), %rsp + leaq 9440(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$38: + leaq 9952(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$37: + leaq 10464(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$36: + leaq 10976(%rsp), %rcx + leaq 12512(%rsp), %rsi + leaq 9440(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$35: + leaq 2432(%rsp), %rcx + leaq 13024(%rsp), %rsi + leaq 9952(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$34: + leaq 10976(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$33: + leaq 2432(%rsp), %rcx + leaq 13536(%rsp), %rsi + leaq 10464(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$32: + leaq 10976(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$31: + leaq 11488(%rsp), %rcx + leaq 14048(%rsp), %rsi + leaq 9440(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$30: + leaq 2432(%rsp), %rcx + leaq 14560(%rsp), %rsi + leaq 9952(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$29: + leaq 11488(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$28: + leaq 2432(%rsp), %rcx + leaq 15072(%rsp), %rsi + leaq 10464(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$27: + leaq 11488(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$26: + leaq 12000(%rsp), %rcx + leaq 15584(%rsp), %rsi + leaq 9440(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$25: + leaq 2432(%rsp), %rcx + leaq 16096(%rsp), %rsi + leaq 9952(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$24: + leaq 12000(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$23: + leaq 2432(%rsp), %rcx + leaq 16608(%rsp), %rsi + leaq 10464(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$22: + leaq 12000(%rsp), %rcx + leaq 2432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$21: + leaq 2432(%rsp), %rcx + leaq 6368(%rsp), %rsi + leaq 9440(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$20: + leaq 3968(%rsp), %rcx + leaq 6880(%rsp), %rsi + leaq 9952(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$19: + leaq 2432(%rsp), %rcx + leaq 3968(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$18: + leaq 3968(%rsp), %rcx + leaq 7392(%rsp), %rsi + leaq 10464(%rsp), %rdi + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$17: + leaq 2432(%rsp), %rcx + leaq 3968(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$16: + leaq 10976(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$15: + leaq 11488(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$14: + leaq 12000(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$13: + leaq 2432(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$12: + leaq 10976(%rsp), %rcx + leaq 7904(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$11: + leaq 11488(%rsp), %rcx + leaq 8416(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$10: + leaq 12000(%rsp), %rcx + leaq 8928(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$9: + leaq 2432(%rsp), %rcx + leaq 2944(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$8: + leaq 2432(%rsp), %rcx + leaq 3456(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$7: + leaq 10976(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 11488(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 12000(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 2432(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 17144(%rsp), %rax + movq %rax, %rdx + leaq 10976(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$6: + leaq 11488(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$5: + leaq 12000(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$4: + leaq glob_data + 384(%rip), %rcx + vmovdqu (%rcx), %ymm0 + vpsllw $3, %ymm0, %ymm1 + vpbroadcastw glob_data + 6422(%rip), %ymm2 + vpbroadcastw glob_data + 6420(%rip), %ymm3 + vpbroadcastw glob_data + 6418(%rip), %ymm4 + vpbroadcastq glob_data + 6184(%rip), %ymm5 + vpbroadcastq glob_data + 6176(%rip), %ymm6 + vmovdqu glob_data + 32(%rip), %ymm7 + vmovdqu 10976(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, (%rdx) + vpextrd $0, %xmm8, 16(%rdx) + vmovdqu 11008(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 20(%rdx) + vpextrd $0, %xmm8, 36(%rdx) + vmovdqu 11040(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 40(%rdx) + vpextrd $0, %xmm8, 56(%rdx) + vmovdqu 11072(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 60(%rdx) + vpextrd $0, %xmm8, 76(%rdx) + vmovdqu 11104(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 80(%rdx) + vpextrd $0, %xmm8, 96(%rdx) + vmovdqu 11136(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 100(%rdx) + vpextrd $0, %xmm8, 116(%rdx) + vmovdqu 11168(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 120(%rdx) + vpextrd $0, %xmm8, 136(%rdx) + vmovdqu 11200(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 140(%rdx) + vpextrd $0, %xmm8, 156(%rdx) + vmovdqu 11232(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 160(%rdx) + vpextrd $0, %xmm8, 176(%rdx) + vmovdqu 11264(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 180(%rdx) + vpextrd $0, %xmm8, 196(%rdx) + vmovdqu 11296(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 200(%rdx) + vpextrd $0, %xmm8, 216(%rdx) + vmovdqu 11328(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 220(%rdx) + vpextrd $0, %xmm8, 236(%rdx) + vmovdqu 11360(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 240(%rdx) + vpextrd $0, %xmm8, 256(%rdx) + vmovdqu 11392(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 260(%rdx) + vpextrd $0, %xmm8, 276(%rdx) + vmovdqu 11424(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 280(%rdx) + vpextrd $0, %xmm8, 296(%rdx) + vmovdqu 11456(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 300(%rdx) + vpextrd $0, %xmm8, 316(%rdx) + vmovdqu 11488(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 320(%rdx) + vpextrd $0, %xmm8, 336(%rdx) + vmovdqu 11520(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 340(%rdx) + vpextrd $0, %xmm8, 356(%rdx) + vmovdqu 11552(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 360(%rdx) + vpextrd $0, %xmm8, 376(%rdx) + vmovdqu 11584(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 380(%rdx) + vpextrd $0, %xmm8, 396(%rdx) + vmovdqu 11616(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 400(%rdx) + vpextrd $0, %xmm8, 416(%rdx) + vmovdqu 11648(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 420(%rdx) + vpextrd $0, %xmm8, 436(%rdx) + vmovdqu 11680(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 440(%rdx) + vpextrd $0, %xmm8, 456(%rdx) + vmovdqu 11712(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 460(%rdx) + vpextrd $0, %xmm8, 476(%rdx) + vmovdqu 11744(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 480(%rdx) + vpextrd $0, %xmm8, 496(%rdx) + vmovdqu 11776(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 500(%rdx) + vpextrd $0, %xmm8, 516(%rdx) + vmovdqu 11808(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 520(%rdx) + vpextrd $0, %xmm8, 536(%rdx) + vmovdqu 11840(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 540(%rdx) + vpextrd $0, %xmm8, 556(%rdx) + vmovdqu 11872(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 560(%rdx) + vpextrd $0, %xmm8, 576(%rdx) + vmovdqu 11904(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 580(%rdx) + vpextrd $0, %xmm8, 596(%rdx) + vmovdqu 11936(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 600(%rdx) + vpextrd $0, %xmm8, 616(%rdx) + vmovdqu 11968(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 620(%rdx) + vpextrd $0, %xmm8, 636(%rdx) + vmovdqu 12000(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 640(%rdx) + vpextrd $0, %xmm8, 656(%rdx) + vmovdqu 12032(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 660(%rdx) + vpextrd $0, %xmm8, 676(%rdx) + vmovdqu 12064(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 680(%rdx) + vpextrd $0, %xmm8, 696(%rdx) + vmovdqu 12096(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 700(%rdx) + vpextrd $0, %xmm8, 716(%rdx) + vmovdqu 12128(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 720(%rdx) + vpextrd $0, %xmm8, 736(%rdx) + vmovdqu 12160(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 740(%rdx) + vpextrd $0, %xmm8, 756(%rdx) + vmovdqu 12192(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 760(%rdx) + vpextrd $0, %xmm8, 776(%rdx) + vmovdqu 12224(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 780(%rdx) + vpextrd $0, %xmm8, 796(%rdx) + vmovdqu 12256(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 800(%rdx) + vpextrd $0, %xmm8, 816(%rdx) + vmovdqu 12288(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 820(%rdx) + vpextrd $0, %xmm8, 836(%rdx) + vmovdqu 12320(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 840(%rdx) + vpextrd $0, %xmm8, 856(%rdx) + vmovdqu 12352(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 860(%rdx) + vpextrd $0, %xmm8, 876(%rdx) + vmovdqu 12384(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 880(%rdx) + vpextrd $0, %xmm8, 896(%rdx) + vmovdqu 12416(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 900(%rdx) + vpextrd $0, %xmm8, 916(%rdx) + vmovdqu 12448(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 920(%rdx) + vpextrd $0, %xmm8, 936(%rdx) + vmovdqu 12480(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm1 + vpaddw %ymm2, %ymm8, %ymm2 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm0 + vpsubw %ymm2, %ymm1, %ymm2 + vpandn %ymm2, %ymm1, %ymm1 + vpsrlw $15, %ymm1, %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vpmulhrsw %ymm3, %ymm0, %ymm0 + vpand %ymm4, %ymm0, %ymm0 + vpmaddwd %ymm5, %ymm0, %ymm0 + vpsllvd %ymm6, %ymm0, %ymm0 + vpsrlq $12, %ymm0, %ymm0 + vpshufb %ymm7, %ymm0, %ymm0 + vmovdqu %xmm0, %xmm1 + vextracti128 $1, %ymm0, %xmm0 + vpblendw $-32, %xmm0, %xmm1, %xmm1 + vmovdqu %xmm1, 940(%rdx) + vpextrd $0, %xmm0, 956(%rdx) + leaq 960(%rax), %rax + leaq 2432(%rsp), %rcx + call L_poly_compress_1$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$3: + movq 17128(%rsp), %r8 + leaq 5280(%rsp), %rax + movq $0, %rcx + movq $1, %rdx + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu (%rax), %ymm1 + vmovdqu (%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 32(%rax), %ymm1 + vmovdqu 32(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 64(%rax), %ymm1 + vmovdqu 64(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 96(%rax), %ymm1 + vmovdqu 96(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 128(%rax), %ymm1 + vmovdqu 128(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 160(%rax), %ymm1 + vmovdqu 160(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 192(%rax), %ymm1 + vmovdqu 192(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 224(%rax), %ymm1 + vmovdqu 224(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 256(%rax), %ymm1 + vmovdqu 256(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 288(%rax), %ymm1 + vmovdqu 288(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 320(%rax), %ymm1 + vmovdqu 320(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 352(%rax), %ymm1 + vmovdqu 352(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 384(%rax), %ymm1 + vmovdqu 384(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 416(%rax), %ymm1 + vmovdqu 416(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 448(%rax), %ymm1 + vmovdqu 448(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 480(%rax), %ymm1 + vmovdqu 480(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 512(%rax), %ymm1 + vmovdqu 512(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 544(%rax), %ymm1 + vmovdqu 544(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 576(%rax), %ymm1 + vmovdqu 576(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 608(%rax), %ymm1 + vmovdqu 608(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 640(%rax), %ymm1 + vmovdqu 640(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 672(%rax), %ymm1 + vmovdqu 672(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 704(%rax), %ymm1 + vmovdqu 704(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 736(%rax), %ymm1 + vmovdqu 736(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 768(%rax), %ymm1 + vmovdqu 768(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 800(%rax), %ymm1 + vmovdqu 800(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 832(%rax), %ymm1 + vmovdqu 832(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 864(%rax), %ymm1 + vmovdqu 864(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 896(%rax), %ymm1 + vmovdqu 896(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 928(%rax), %ymm1 + vmovdqu 928(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 960(%rax), %ymm1 + vmovdqu 960(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 992(%rax), %ymm1 + vmovdqu 992(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 1024(%rax), %ymm1 + vmovdqu 1024(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vmovdqu 1056(%rax), %ymm1 + vmovdqu 1056(%r8), %ymm2 + vpxor %ymm2, %ymm1, %ymm1 + vpor %ymm1, %ymm0, %ymm0 + vptest %ymm0, %ymm0 + cmovne %rdx, %rcx + negq %rcx + shrq $63, %rcx + movq 17136(%rsp), %rax + addq $64, %rax + addq $2304, %rax + leaq 96(%rsp), %rdx + negq %rcx + movq %rcx, 17136(%rsp) + vpbroadcastq 17136(%rsp), %ymm0 + vmovdqu (%rdx), %ymm1 + vmovdqu (%rax), %ymm2 + vpblendvb %ymm0, %ymm2, %ymm1, %ymm0 + vmovdqu %ymm0, (%rdx) + movq $1088, %rdi + leaq 128(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$2: + leaq 248(%rsp), %rsp + movq 17120(%rsp), %rdx + movq $32, %rcx + leaq 96(%rsp), %rax + leaq -248(%rsp), %rsp + call L_shake256_64$1 +Ljade_kem_kyber_kyber768_amd64_avx2_dec$1: + leaq 248(%rsp), %rsp + xorq %rax, %rax + movq 17160(%rsp), %r12 + movq 17168(%rsp), %rbp + movq 17176(%rsp), %rbx + movq 17184(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_avx2_enc: +jade_kem_kyber_kyber768_amd64_avx2_enc: + movq %rsp, %rax + leaq -64(%rsp), %rsp + andq $-32, %rsp + movq %rax, 56(%rsp) + movq %r12, 32(%rsp) + movq %rbp, 40(%rsp) + movq %rbx, 48(%rsp) + movq %rdi, %rbx + movq %rsi, %rbp + movq %rdx, %r12 + movq %rsp, %rdi + movq $32, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rcx + leaq -16088(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_avx2_enc$1: + leaq 16088(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r12 + movq 40(%rsp), %rbp + movq 48(%rsp), %rbx + movq 56(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_avx2_enc_derand: +jade_kem_kyber_kyber768_amd64_avx2_enc_derand: + movq %rsp, %rax + leaq -64(%rsp), %rsp + andq $-32, %rsp + movq %rax, 56(%rsp) + movq %r12, 32(%rsp) + movq %rbp, 40(%rsp) + movq %rbx, 48(%rsp) + movq %rdi, %rbx + movq %rsi, %rbp + movq %rdx, %r12 + movq %rsp, %rax + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + movq %rsp, %rcx + leaq -16088(%rsp), %rsp + call L__crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_avx2_enc_derand$1: + leaq 16088(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r12 + movq 40(%rsp), %rbp + movq 48(%rsp), %rbx + movq 56(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_avx2_keypair: +jade_kem_kyber_kyber768_amd64_avx2_keypair: + movq %rsp, %rax + leaq -96(%rsp), %rsp + andq $-32, %rsp + movq %rax, 88(%rsp) + movq %r12, 64(%rsp) + movq %rbp, 72(%rsp) + movq %rbx, 80(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rdi + movq $64, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rax + leaq -13048(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_avx2_keypair$1: + leaq 13048(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r12 + movq 72(%rsp), %rbp + movq 80(%rsp), %rbx + movq 88(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_avx2_keypair_derand: +jade_kem_kyber_kyber768_amd64_avx2_keypair_derand: + movq %rsp, %rax + leaq -96(%rsp), %rsp + andq $-32, %rsp + movq %rax, 88(%rsp) + movq %r12, 64(%rsp) + movq %rbp, 72(%rsp) + movq %rbx, 80(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rax + movb (%rdx), %cl + movb %cl, (%rax) + movb 1(%rdx), %cl + movb %cl, 1(%rax) + movb 2(%rdx), %cl + movb %cl, 2(%rax) + movb 3(%rdx), %cl + movb %cl, 3(%rax) + movb 4(%rdx), %cl + movb %cl, 4(%rax) + movb 5(%rdx), %cl + movb %cl, 5(%rax) + movb 6(%rdx), %cl + movb %cl, 6(%rax) + movb 7(%rdx), %cl + movb %cl, 7(%rax) + movb 8(%rdx), %cl + movb %cl, 8(%rax) + movb 9(%rdx), %cl + movb %cl, 9(%rax) + movb 10(%rdx), %cl + movb %cl, 10(%rax) + movb 11(%rdx), %cl + movb %cl, 11(%rax) + movb 12(%rdx), %cl + movb %cl, 12(%rax) + movb 13(%rdx), %cl + movb %cl, 13(%rax) + movb 14(%rdx), %cl + movb %cl, 14(%rax) + movb 15(%rdx), %cl + movb %cl, 15(%rax) + movb 16(%rdx), %cl + movb %cl, 16(%rax) + movb 17(%rdx), %cl + movb %cl, 17(%rax) + movb 18(%rdx), %cl + movb %cl, 18(%rax) + movb 19(%rdx), %cl + movb %cl, 19(%rax) + movb 20(%rdx), %cl + movb %cl, 20(%rax) + movb 21(%rdx), %cl + movb %cl, 21(%rax) + movb 22(%rdx), %cl + movb %cl, 22(%rax) + movb 23(%rdx), %cl + movb %cl, 23(%rax) + movb 24(%rdx), %cl + movb %cl, 24(%rax) + movb 25(%rdx), %cl + movb %cl, 25(%rax) + movb 26(%rdx), %cl + movb %cl, 26(%rax) + movb 27(%rdx), %cl + movb %cl, 27(%rax) + movb 28(%rdx), %cl + movb %cl, 28(%rax) + movb 29(%rdx), %cl + movb %cl, 29(%rax) + movb 30(%rdx), %cl + movb %cl, 30(%rax) + movb 31(%rdx), %cl + movb %cl, 31(%rax) + movb 32(%rdx), %cl + movb %cl, 32(%rax) + movb 33(%rdx), %cl + movb %cl, 33(%rax) + movb 34(%rdx), %cl + movb %cl, 34(%rax) + movb 35(%rdx), %cl + movb %cl, 35(%rax) + movb 36(%rdx), %cl + movb %cl, 36(%rax) + movb 37(%rdx), %cl + movb %cl, 37(%rax) + movb 38(%rdx), %cl + movb %cl, 38(%rax) + movb 39(%rdx), %cl + movb %cl, 39(%rax) + movb 40(%rdx), %cl + movb %cl, 40(%rax) + movb 41(%rdx), %cl + movb %cl, 41(%rax) + movb 42(%rdx), %cl + movb %cl, 42(%rax) + movb 43(%rdx), %cl + movb %cl, 43(%rax) + movb 44(%rdx), %cl + movb %cl, 44(%rax) + movb 45(%rdx), %cl + movb %cl, 45(%rax) + movb 46(%rdx), %cl + movb %cl, 46(%rax) + movb 47(%rdx), %cl + movb %cl, 47(%rax) + movb 48(%rdx), %cl + movb %cl, 48(%rax) + movb 49(%rdx), %cl + movb %cl, 49(%rax) + movb 50(%rdx), %cl + movb %cl, 50(%rax) + movb 51(%rdx), %cl + movb %cl, 51(%rax) + movb 52(%rdx), %cl + movb %cl, 52(%rax) + movb 53(%rdx), %cl + movb %cl, 53(%rax) + movb 54(%rdx), %cl + movb %cl, 54(%rax) + movb 55(%rdx), %cl + movb %cl, 55(%rax) + movb 56(%rdx), %cl + movb %cl, 56(%rax) + movb 57(%rdx), %cl + movb %cl, 57(%rax) + movb 58(%rdx), %cl + movb %cl, 58(%rax) + movb 59(%rdx), %cl + movb %cl, 59(%rax) + movb 60(%rdx), %cl + movb %cl, 60(%rax) + movb 61(%rdx), %cl + movb %cl, 61(%rax) + movb 62(%rdx), %cl + movb %cl, 62(%rax) + movb 63(%rdx), %cl + movb %cl, 63(%rax) + movq %rsp, %rax + leaq -13048(%rsp), %rsp + call L__crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_avx2_keypair_derand$1: + leaq 13048(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r12 + movq 72(%rsp), %rbp + movq 80(%rsp), %rbx + movq 88(%rsp), %rsp + ret +L__crypto_kem_enc_derand_jazz$1: + movq %r12, 16064(%rsp) + movq %rbx, 16072(%rsp) + movq %rbp, 16080(%rsp) + leaq 64(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256_32$1 +L__crypto_kem_enc_derand_jazz$133: + leaq 248(%rsp), %rsp + movq 16064(%rsp), %r8 + movq $1184, %rdi + leaq 96(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$132: + leaq 248(%rsp), %rsp + leaq 128(%rsp), %rax + leaq 64(%rsp), %rcx + leaq -248(%rsp), %rsp + call L_sha3_512_64$1 +L__crypto_kem_enc_derand_jazz$131: + leaq 248(%rsp), %rsp + movq 16064(%rsp), %rax + leaq 64(%rsp), %rdi + leaq 160(%rsp), %rcx + movq %rax, %rsi + leaq 5312(%rsp), %r8 + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$130: + addq $384, %rsi + leaq 5824(%rsp), %r8 + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$129: + addq $384, %rsi + leaq 6336(%rsp), %r8 + call L_poly_frombytes$1 +L__crypto_kem_enc_derand_jazz$128: + movq $0, %rdx + addq $1152, %rax + jmp L__crypto_kem_enc_derand_jazz$126 +L__crypto_kem_enc_derand_jazz$127: + movq (%rax), %rsi + movq %rsi, 32(%rsp,%rdx,8) + addq $8, %rax + incq %rdx +L__crypto_kem_enc_derand_jazz$126: + cmpq $4, %rdx + jb L__crypto_kem_enc_derand_jazz$127 + leaq 2464(%rsp), %rax + call L_poly_frommsg_1$1 +L__crypto_kem_enc_derand_jazz$125: + movq %rcx, 16064(%rsp) + vmovdqu 32(%rsp), %ymm0 + vmovdqu %ymm0, 416(%rsp) + vmovdqu %ymm0, 928(%rsp) + vmovdqu %ymm0, 1440(%rsp) + vmovdqu %ymm0, 1952(%rsp) + vmovdqu %ymm0, 32(%rsp) + movb $0, 448(%rsp) + movb $0, 449(%rsp) + movb $0, 960(%rsp) + movb $1, 961(%rsp) + movb $0, 1472(%rsp) + movb $2, 1473(%rsp) + movb $1, 1984(%rsp) + movb $0, 1985(%rsp) + leaq 4512(%rsp), %rax + leaq 416(%rsp), %rcx + leaq 928(%rsp), %rdx + leaq 1440(%rsp), %rsi + leaq 1952(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_enc_derand_jazz$124: + leaq 4512(%rsp), %rax + leaq 416(%rsp), %rdi + leaq 928(%rsp), %r8 + leaq 1440(%rsp), %r9 + leaq 1952(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$123: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$122: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$121: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 11456(%rsp), %r11 + leaq 416(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$120: + movq %r12, %r9 + leaq 11968(%rsp), %r11 + leaq 928(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$119: + movq %r12, %rdi + leaq 12480(%rsp), %r11 + leaq 1440(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$118: + movq %r12, %r8 + leaq 12992(%rsp), %r11 + leaq 1952(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$117: + cmpq $255, %r9 + setbe %al + cmpq $255, %rdi + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp L__crypto_kem_enc_derand_jazz$94 +L__crypto_kem_enc_derand_jazz$95: + leaq 4512(%rsp), %rax + leaq 416(%rsp), %r10 + leaq 928(%rsp), %r11 + leaq 1440(%rsp), %rbx + leaq 1952(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$116: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 11456(%rsp), %rax + leaq 416(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$111 +L__crypto_kem_enc_derand_jazz$112: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$115 + movw %si, (%rax,%r9,2) + incq %r9 +L__crypto_kem_enc_derand_jazz$115: + cmpq $256, %r9 + jnb L__crypto_kem_enc_derand_jazz$113 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$113 + movw %r11w, (%rax,%r9,2) + incq %r9 +L__crypto_kem_enc_derand_jazz$114: +L__crypto_kem_enc_derand_jazz$113: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$111: + jne L__crypto_kem_enc_derand_jazz$112 + leaq 11968(%rsp), %rax + leaq 928(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$106 +L__crypto_kem_enc_derand_jazz$107: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$110 + movw %si, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_enc_derand_jazz$110: + cmpq $256, %rdi + jnb L__crypto_kem_enc_derand_jazz$108 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$108 + movw %r11w, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_enc_derand_jazz$109: +L__crypto_kem_enc_derand_jazz$108: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$106: + jne L__crypto_kem_enc_derand_jazz$107 + leaq 12480(%rsp), %rax + leaq 1440(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$101 +L__crypto_kem_enc_derand_jazz$102: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$105 + movw %si, (%rax,%r8,2) + incq %r8 +L__crypto_kem_enc_derand_jazz$105: + cmpq $256, %r8 + jnb L__crypto_kem_enc_derand_jazz$103 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$103 + movw %r11w, (%rax,%r8,2) + incq %r8 +L__crypto_kem_enc_derand_jazz$104: +L__crypto_kem_enc_derand_jazz$103: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$101: + jne L__crypto_kem_enc_derand_jazz$102 + leaq 12992(%rsp), %rax + leaq 1952(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$96 +L__crypto_kem_enc_derand_jazz$97: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$100 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$100: + cmpq $256, %r12 + jnb L__crypto_kem_enc_derand_jazz$98 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$98 + movw %r11w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$99: +L__crypto_kem_enc_derand_jazz$98: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$96: + jne L__crypto_kem_enc_derand_jazz$97 + cmpq $255, %r9 + setbe %al + cmpq $255, %rdi + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +L__crypto_kem_enc_derand_jazz$94: + jne L__crypto_kem_enc_derand_jazz$95 + vmovdqu 32(%rsp), %ymm0 + vmovdqu %ymm0, 416(%rsp) + vmovdqu %ymm0, 928(%rsp) + vmovdqu %ymm0, 1440(%rsp) + vmovdqu %ymm0, 1952(%rsp) + vmovdqu %ymm0, 32(%rsp) + movb $1, 448(%rsp) + movb $1, 449(%rsp) + movb $1, 960(%rsp) + movb $2, 961(%rsp) + movb $2, 1472(%rsp) + movb $0, 1473(%rsp) + movb $2, 1984(%rsp) + movb $1, 1985(%rsp) + leaq 4512(%rsp), %rax + leaq 416(%rsp), %rcx + leaq 928(%rsp), %rdx + leaq 1440(%rsp), %rsi + leaq 1952(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_enc_derand_jazz$93: + leaq 4512(%rsp), %rax + leaq 416(%rsp), %rdi + leaq 928(%rsp), %r8 + leaq 1440(%rsp), %r9 + leaq 1952(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$92: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$91: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$90: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 13504(%rsp), %r11 + leaq 416(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$89: + movq %r12, %rdi + leaq 14016(%rsp), %r11 + leaq 928(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$88: + movq %r12, %r8 + leaq 14528(%rsp), %r11 + leaq 1440(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$87: + movq %r12, %r9 + leaq 15040(%rsp), %r11 + leaq 1952(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$86: + cmpq $255, %rdi + setbe %al + cmpq $255, %r8 + setbe %cl + orb %cl, %al + cmpq $255, %r9 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp L__crypto_kem_enc_derand_jazz$63 +L__crypto_kem_enc_derand_jazz$64: + leaq 4512(%rsp), %rax + leaq 416(%rsp), %r10 + leaq 928(%rsp), %r11 + leaq 1440(%rsp), %rbx + leaq 1952(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_enc_derand_jazz$85: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 13504(%rsp), %rax + leaq 416(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$80 +L__crypto_kem_enc_derand_jazz$81: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$84 + movw %si, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_enc_derand_jazz$84: + cmpq $256, %rdi + jnb L__crypto_kem_enc_derand_jazz$82 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$82 + movw %r11w, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_enc_derand_jazz$83: +L__crypto_kem_enc_derand_jazz$82: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$80: + jne L__crypto_kem_enc_derand_jazz$81 + leaq 14016(%rsp), %rax + leaq 928(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$75 +L__crypto_kem_enc_derand_jazz$76: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$79 + movw %si, (%rax,%r8,2) + incq %r8 +L__crypto_kem_enc_derand_jazz$79: + cmpq $256, %r8 + jnb L__crypto_kem_enc_derand_jazz$77 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$77 + movw %r11w, (%rax,%r8,2) + incq %r8 +L__crypto_kem_enc_derand_jazz$78: +L__crypto_kem_enc_derand_jazz$77: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$75: + jne L__crypto_kem_enc_derand_jazz$76 + leaq 14528(%rsp), %rax + leaq 1440(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$70 +L__crypto_kem_enc_derand_jazz$71: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$74 + movw %si, (%rax,%r9,2) + incq %r9 +L__crypto_kem_enc_derand_jazz$74: + cmpq $256, %r9 + jnb L__crypto_kem_enc_derand_jazz$72 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$72 + movw %r11w, (%rax,%r9,2) + incq %r9 +L__crypto_kem_enc_derand_jazz$73: +L__crypto_kem_enc_derand_jazz$72: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$70: + jne L__crypto_kem_enc_derand_jazz$71 + leaq 15040(%rsp), %rax + leaq 1952(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_enc_derand_jazz$65 +L__crypto_kem_enc_derand_jazz$66: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$69 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$69: + cmpq $256, %r12 + jnb L__crypto_kem_enc_derand_jazz$67 + cmpw $3329, %r11w + jnb L__crypto_kem_enc_derand_jazz$67 + movw %r11w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$68: +L__crypto_kem_enc_derand_jazz$67: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_enc_derand_jazz$65: + jne L__crypto_kem_enc_derand_jazz$66 + cmpq $255, %rdi + setbe %al + cmpq $255, %r8 + setbe %cl + orb %cl, %al + cmpq $255, %r9 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +L__crypto_kem_enc_derand_jazz$63: + jne L__crypto_kem_enc_derand_jazz$64 + vmovdqu 32(%rsp), %ymm0 + vmovdqu %ymm0, 416(%rsp) + movb $2, 448(%rsp) + movb $2, 449(%rsp) + leaq 416(%rsp), %rax + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm0, 256(%rsp) + vmovdqu %ymm0, 288(%rsp) + vmovdqu %ymm0, 320(%rsp) + vmovdqu %ymm0, 352(%rsp) + vmovdqu %ymm0, 384(%rsp) + vpbroadcastq (%rax), %ymm5 + movq 8(%rax), %rcx + movq glob_data + 6208(%rip), %rdx + movq %rcx, 192(%rsp,%rdx,8) + movq 16(%rax), %rcx + movq glob_data + 6216(%rip), %rdx + movq %rcx, 192(%rsp,%rdx,8) + movq 24(%rax), %rcx + movq glob_data + 6224(%rip), %rdx + movq %rcx, 192(%rsp,%rdx,8) + movb 32(%rax), %cl + movq glob_data + 6232(%rip), %rdx + shlq $3, %rdx + movb %cl, 192(%rsp,%rdx) + movb 33(%rax), %al + incq %rdx + movb %al, 192(%rsp,%rdx) + incq %rdx + movb $31, 192(%rsp,%rdx) + movq glob_data + 6360(%rip), %rax + shlq $3, %rax + movq $167, %rcx + andq $7, %rcx + addq %rcx, %rax + movb $-128, 192(%rsp,%rax) + vmovdqu 224(%rsp), %ymm0 + vmovdqu 256(%rsp), %ymm1 + vmovdqu 288(%rsp), %ymm2 + vmovdqu 320(%rsp), %ymm6 + vmovdqu 352(%rsp), %ymm3 + vmovdqu 384(%rsp), %ymm4 + leaq 416(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_enc_derand_jazz$62: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_enc_derand_jazz$62 + vmovdqu %ymm5, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm1, 256(%rsp) + vmovdqu %ymm2, 288(%rsp) + vmovdqu %ymm6, 320(%rsp) + vmovdqu %ymm3, 352(%rsp) + vmovdqu %ymm4, 384(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 584(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_enc_derand_jazz$61: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_enc_derand_jazz$61 + vmovdqu %ymm5, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm1, 256(%rsp) + vmovdqu %ymm2, 288(%rsp) + vmovdqu %ymm6, 320(%rsp) + vmovdqu %ymm3, 352(%rsp) + vmovdqu %ymm4, 384(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 752(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_enc_derand_jazz$60: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_enc_derand_jazz$60 + vmovdqu %ymm5, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm1, 256(%rsp) + vmovdqu %ymm2, 288(%rsp) + vmovdqu %ymm6, 320(%rsp) + vmovdqu %ymm3, 352(%rsp) + vmovdqu %ymm4, 384(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + vmovdqu %ymm5, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm1, 256(%rsp) + vmovdqu %ymm2, 288(%rsp) + vmovdqu %ymm6, 320(%rsp) + vmovdqu %ymm3, 352(%rsp) + vmovdqu %ymm4, 384(%rsp) + leaq 15552(%rsp), %r11 + leaq 416(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_enc_derand_jazz$59: + cmpq $255, %r12 + setbe %al + vmovdqu 192(%rsp), %ymm6 + vmovdqu 224(%rsp), %ymm0 + vmovdqu 256(%rsp), %ymm1 + vmovdqu 288(%rsp), %ymm2 + vmovdqu 320(%rsp), %ymm3 + vmovdqu 352(%rsp), %ymm4 + vmovdqu 384(%rsp), %ymm5 + jmp L__crypto_kem_enc_derand_jazz$51 +L__crypto_kem_enc_derand_jazz$52: + leaq 416(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_enc_derand_jazz$58: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_enc_derand_jazz$58 + vmovdqu %ymm6, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm1, 256(%rsp) + vmovdqu %ymm2, 288(%rsp) + vmovdqu %ymm3, 320(%rsp) + vmovdqu %ymm4, 352(%rsp) + vmovdqu %ymm5, 384(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 192(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 15552(%rsp), %rax + leaq 416(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil + jmp L__crypto_kem_enc_derand_jazz$53 +L__crypto_kem_enc_derand_jazz$54: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw (%rcx,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_enc_derand_jazz$57 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$57: + cmpq $256, %r12 + jnb L__crypto_kem_enc_derand_jazz$55 + cmpw $3329, %r8w + jnb L__crypto_kem_enc_derand_jazz$55 + movw %r8w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_enc_derand_jazz$56: +L__crypto_kem_enc_derand_jazz$55: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil +L__crypto_kem_enc_derand_jazz$53: + jne L__crypto_kem_enc_derand_jazz$54 + cmpq $255, %r12 + setbe %al +L__crypto_kem_enc_derand_jazz$51: + cmpb $0, %al + jne L__crypto_kem_enc_derand_jazz$52 + leaq 11456(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$50: + leaq 11968(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$49: + leaq 12480(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$48: + leaq 12992(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$47: + leaq 13504(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$46: + leaq 14016(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$45: + leaq 14528(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$44: + leaq 15040(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$43: + leaq 15552(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_enc_derand_jazz$42: + movq 16064(%rsp), %r10 + movb $0, %cl + leaq 8384(%rsp), %rax + leaq 8896(%rsp), %rdi + leaq 9408(%rsp), %r8 + leaq 6848(%rsp), %r9 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +L__crypto_kem_enc_derand_jazz$41: + leaq 1496(%rsp), %rsp + movb $4, %cl + leaq 7360(%rsp), %rax + leaq 7872(%rsp), %rdi + leaq 2976(%rsp), %r8 + leaq 9920(%rsp), %r9 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +L__crypto_kem_enc_derand_jazz$40: + leaq 1496(%rsp), %rsp + leaq 8384(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$39: + leaq 8896(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$38: + leaq 9408(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_enc_derand_jazz$37: + leaq 9920(%rsp), %rcx + leaq 11456(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$36: + leaq 3488(%rsp), %rcx + leaq 11968(%rsp), %rsi + leaq 8896(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$35: + leaq 9920(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$34: + leaq 3488(%rsp), %rcx + leaq 12480(%rsp), %rsi + leaq 9408(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$33: + leaq 9920(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$32: + leaq 10432(%rsp), %rcx + leaq 12992(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$31: + leaq 3488(%rsp), %rcx + leaq 13504(%rsp), %rsi + leaq 8896(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$30: + leaq 10432(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$29: + leaq 3488(%rsp), %rcx + leaq 14016(%rsp), %rsi + leaq 9408(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$28: + leaq 10432(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$27: + leaq 10944(%rsp), %rcx + leaq 14528(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$26: + leaq 3488(%rsp), %rcx + leaq 15040(%rsp), %rsi + leaq 8896(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$25: + leaq 10944(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$24: + leaq 3488(%rsp), %rcx + leaq 15552(%rsp), %rsi + leaq 9408(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$23: + leaq 10944(%rsp), %rcx + leaq 3488(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$22: + leaq 3488(%rsp), %rcx + leaq 5312(%rsp), %rsi + leaq 8384(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$21: + leaq 4000(%rsp), %rcx + leaq 5824(%rsp), %rsi + leaq 8896(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$20: + leaq 3488(%rsp), %rcx + leaq 4000(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$19: + leaq 4000(%rsp), %rcx + leaq 6336(%rsp), %rsi + leaq 9408(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_enc_derand_jazz$18: + leaq 3488(%rsp), %rcx + leaq 4000(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$17: + leaq 9920(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$16: + leaq 10432(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$15: + leaq 10944(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$14: + leaq 3488(%rsp), %rcx + call L_poly_invntt$1 +L__crypto_kem_enc_derand_jazz$13: + leaq 9920(%rsp), %rcx + leaq 6848(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$12: + leaq 10432(%rsp), %rcx + leaq 7360(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$11: + leaq 10944(%rsp), %rcx + leaq 7872(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$10: + leaq 3488(%rsp), %rcx + leaq 2976(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$9: + leaq 3488(%rsp), %rcx + leaq 2464(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_enc_derand_jazz$8: + leaq 9920(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 10432(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 10944(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 3488(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 16072(%rsp), %rax + leaq 9920(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$7: + leaq 10432(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$6: + leaq 10944(%rsp), %rcx + call L_poly_csubq$1 +L__crypto_kem_enc_derand_jazz$5: + leaq glob_data + 384(%rip), %rcx + vmovdqu (%rcx), %ymm0 + vpsllw $3, %ymm0, %ymm1 + vpbroadcastw glob_data + 6422(%rip), %ymm2 + vpbroadcastw glob_data + 6420(%rip), %ymm3 + vpbroadcastw glob_data + 6418(%rip), %ymm4 + vpbroadcastq glob_data + 6184(%rip), %ymm5 + vpbroadcastq glob_data + 6176(%rip), %ymm6 + vmovdqu glob_data + 32(%rip), %ymm7 + vmovdqu 9920(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, (%rax) + vpextrd $0, %xmm8, 16(%rax) + vmovdqu 9952(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 20(%rax) + vpextrd $0, %xmm8, 36(%rax) + vmovdqu 9984(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 40(%rax) + vpextrd $0, %xmm8, 56(%rax) + vmovdqu 10016(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 60(%rax) + vpextrd $0, %xmm8, 76(%rax) + vmovdqu 10048(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 80(%rax) + vpextrd $0, %xmm8, 96(%rax) + vmovdqu 10080(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 100(%rax) + vpextrd $0, %xmm8, 116(%rax) + vmovdqu 10112(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 120(%rax) + vpextrd $0, %xmm8, 136(%rax) + vmovdqu 10144(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 140(%rax) + vpextrd $0, %xmm8, 156(%rax) + vmovdqu 10176(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 160(%rax) + vpextrd $0, %xmm8, 176(%rax) + vmovdqu 10208(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 180(%rax) + vpextrd $0, %xmm8, 196(%rax) + vmovdqu 10240(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 200(%rax) + vpextrd $0, %xmm8, 216(%rax) + vmovdqu 10272(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 220(%rax) + vpextrd $0, %xmm8, 236(%rax) + vmovdqu 10304(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 240(%rax) + vpextrd $0, %xmm8, 256(%rax) + vmovdqu 10336(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 260(%rax) + vpextrd $0, %xmm8, 276(%rax) + vmovdqu 10368(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 280(%rax) + vpextrd $0, %xmm8, 296(%rax) + vmovdqu 10400(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 300(%rax) + vpextrd $0, %xmm8, 316(%rax) + vmovdqu 10432(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 320(%rax) + vpextrd $0, %xmm8, 336(%rax) + vmovdqu 10464(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 340(%rax) + vpextrd $0, %xmm8, 356(%rax) + vmovdqu 10496(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 360(%rax) + vpextrd $0, %xmm8, 376(%rax) + vmovdqu 10528(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 380(%rax) + vpextrd $0, %xmm8, 396(%rax) + vmovdqu 10560(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 400(%rax) + vpextrd $0, %xmm8, 416(%rax) + vmovdqu 10592(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 420(%rax) + vpextrd $0, %xmm8, 436(%rax) + vmovdqu 10624(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 440(%rax) + vpextrd $0, %xmm8, 456(%rax) + vmovdqu 10656(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 460(%rax) + vpextrd $0, %xmm8, 476(%rax) + vmovdqu 10688(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 480(%rax) + vpextrd $0, %xmm8, 496(%rax) + vmovdqu 10720(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 500(%rax) + vpextrd $0, %xmm8, 516(%rax) + vmovdqu 10752(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 520(%rax) + vpextrd $0, %xmm8, 536(%rax) + vmovdqu 10784(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 540(%rax) + vpextrd $0, %xmm8, 556(%rax) + vmovdqu 10816(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 560(%rax) + vpextrd $0, %xmm8, 576(%rax) + vmovdqu 10848(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 580(%rax) + vpextrd $0, %xmm8, 596(%rax) + vmovdqu 10880(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 600(%rax) + vpextrd $0, %xmm8, 616(%rax) + vmovdqu 10912(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 620(%rax) + vpextrd $0, %xmm8, 636(%rax) + vmovdqu 10944(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 640(%rax) + vpextrd $0, %xmm8, 656(%rax) + vmovdqu 10976(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 660(%rax) + vpextrd $0, %xmm8, 676(%rax) + vmovdqu 11008(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 680(%rax) + vpextrd $0, %xmm8, 696(%rax) + vmovdqu 11040(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 700(%rax) + vpextrd $0, %xmm8, 716(%rax) + vmovdqu 11072(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 720(%rax) + vpextrd $0, %xmm8, 736(%rax) + vmovdqu 11104(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 740(%rax) + vpextrd $0, %xmm8, 756(%rax) + vmovdqu 11136(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 760(%rax) + vpextrd $0, %xmm8, 776(%rax) + vmovdqu 11168(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 780(%rax) + vpextrd $0, %xmm8, 796(%rax) + vmovdqu 11200(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 800(%rax) + vpextrd $0, %xmm8, 816(%rax) + vmovdqu 11232(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 820(%rax) + vpextrd $0, %xmm8, 836(%rax) + vmovdqu 11264(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 840(%rax) + vpextrd $0, %xmm8, 856(%rax) + vmovdqu 11296(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 860(%rax) + vpextrd $0, %xmm8, 876(%rax) + vmovdqu 11328(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 880(%rax) + vpextrd $0, %xmm8, 896(%rax) + vmovdqu 11360(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 900(%rax) + vpextrd $0, %xmm8, 916(%rax) + vmovdqu 11392(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm9 + vpaddw %ymm2, %ymm8, %ymm10 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm10, %ymm9, %ymm10 + vpandn %ymm10, %ymm9, %ymm9 + vpsrlw $15, %ymm9, %ymm9 + vpsubw %ymm9, %ymm8, %ymm8 + vpmulhrsw %ymm3, %ymm8, %ymm8 + vpand %ymm4, %ymm8, %ymm8 + vpmaddwd %ymm5, %ymm8, %ymm8 + vpsllvd %ymm6, %ymm8, %ymm8 + vpsrlq $12, %ymm8, %ymm8 + vpshufb %ymm7, %ymm8, %ymm8 + vmovdqu %xmm8, %xmm9 + vextracti128 $1, %ymm8, %xmm8 + vpblendw $-32, %xmm8, %xmm9, %xmm9 + vmovdqu %xmm9, 920(%rax) + vpextrd $0, %xmm8, 936(%rax) + vmovdqu 11424(%rsp), %ymm8 + vpmullw %ymm1, %ymm8, %ymm1 + vpaddw %ymm2, %ymm8, %ymm2 + vpsllw $3, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm8, %ymm0 + vpsubw %ymm2, %ymm1, %ymm2 + vpandn %ymm2, %ymm1, %ymm1 + vpsrlw $15, %ymm1, %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vpmulhrsw %ymm3, %ymm0, %ymm0 + vpand %ymm4, %ymm0, %ymm0 + vpmaddwd %ymm5, %ymm0, %ymm0 + vpsllvd %ymm6, %ymm0, %ymm0 + vpsrlq $12, %ymm0, %ymm0 + vpshufb %ymm7, %ymm0, %ymm0 + vmovdqu %xmm0, %xmm1 + vextracti128 $1, %ymm0, %xmm0 + vpblendw $-32, %xmm0, %xmm1, %xmm1 + vmovdqu %xmm1, 940(%rax) + vpextrd $0, %xmm0, 956(%rax) + addq $960, %rax + leaq 3488(%rsp), %rcx + call L_poly_compress$1 +L__crypto_kem_enc_derand_jazz$4: + movq 16072(%rsp), %r8 + movq $1088, %rdi + leaq 160(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_enc_derand_jazz$3: + leaq 248(%rsp), %rsp + movq 16080(%rsp), %rdx + movq $32, %rcx + leaq 128(%rsp), %rax + leaq -248(%rsp), %rsp + call L_shake256_64$1 +L__crypto_kem_enc_derand_jazz$2: + leaq 248(%rsp), %rsp + ret +L__crypto_kem_keypair_derand_jazz$1: + movq %rax, 12928(%rsp) + movq %rbp, 12936(%rsp) + movq %rbx, 12944(%rsp) + movq %rax, %rcx + movq %rbp, 12952(%rsp) + movq %rbx, 12960(%rsp) + leaq 12968(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_512_32$1 +L__crypto_kem_keypair_derand_jazz$121: + leaq 248(%rsp), %rsp + movq 12968(%rsp), %rax + movq %rax, 64(%rsp) + movq 13000(%rsp), %rax + movq %rax, 32(%rsp) + movq 12976(%rsp), %rax + movq %rax, 72(%rsp) + movq 13008(%rsp), %rax + movq %rax, 40(%rsp) + movq 12984(%rsp), %rax + movq %rax, 80(%rsp) + movq 13016(%rsp), %rax + movq %rax, 48(%rsp) + movq 12992(%rsp), %rax + movq %rax, 88(%rsp) + movq 13024(%rsp), %rax + movq %rax, 56(%rsp) + vmovdqu 64(%rsp), %ymm0 + vmovdqu %ymm0, 352(%rsp) + vmovdqu %ymm0, 864(%rsp) + vmovdqu %ymm0, 1376(%rsp) + vmovdqu %ymm0, 1888(%rsp) + vmovdqu %ymm0, 96(%rsp) + movb $0, 384(%rsp) + movb $0, 385(%rsp) + movb $1, 896(%rsp) + movb $0, 897(%rsp) + movb $2, 1408(%rsp) + movb $0, 1409(%rsp) + movb $0, 1920(%rsp) + movb $1, 1921(%rsp) + leaq 2912(%rsp), %rax + leaq 352(%rsp), %rcx + leaq 864(%rsp), %rdx + leaq 1376(%rsp), %rsi + leaq 1888(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_keypair_derand_jazz$120: + leaq 2912(%rsp), %rax + leaq 352(%rsp), %rdi + leaq 864(%rsp), %r8 + leaq 1376(%rsp), %r9 + leaq 1888(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$119: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$118: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$117: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 8320(%rsp), %r11 + leaq 352(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$116: + movq %r12, %r9 + leaq 8832(%rsp), %r11 + leaq 864(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$115: + movq %r12, %rdi + leaq 9344(%rsp), %r11 + leaq 1376(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$114: + movq %r12, %r8 + leaq 9856(%rsp), %r11 + leaq 1888(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$113: + cmpq $255, %r9 + setbe %al + cmpq $255, %rdi + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp L__crypto_kem_keypair_derand_jazz$90 +L__crypto_kem_keypair_derand_jazz$91: + leaq 2912(%rsp), %rax + leaq 352(%rsp), %r10 + leaq 864(%rsp), %r11 + leaq 1376(%rsp), %rbx + leaq 1888(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$112: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 8320(%rsp), %rax + leaq 352(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$107 +L__crypto_kem_keypair_derand_jazz$108: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$111 + movw %si, (%rax,%r9,2) + incq %r9 +L__crypto_kem_keypair_derand_jazz$111: + cmpq $256, %r9 + jnb L__crypto_kem_keypair_derand_jazz$109 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$109 + movw %r11w, (%rax,%r9,2) + incq %r9 +L__crypto_kem_keypair_derand_jazz$110: +L__crypto_kem_keypair_derand_jazz$109: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$107: + jne L__crypto_kem_keypair_derand_jazz$108 + leaq 8832(%rsp), %rax + leaq 864(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$102 +L__crypto_kem_keypair_derand_jazz$103: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$106 + movw %si, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_keypair_derand_jazz$106: + cmpq $256, %rdi + jnb L__crypto_kem_keypair_derand_jazz$104 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$104 + movw %r11w, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_keypair_derand_jazz$105: +L__crypto_kem_keypair_derand_jazz$104: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$102: + jne L__crypto_kem_keypair_derand_jazz$103 + leaq 9344(%rsp), %rax + leaq 1376(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$97 +L__crypto_kem_keypair_derand_jazz$98: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$101 + movw %si, (%rax,%r8,2) + incq %r8 +L__crypto_kem_keypair_derand_jazz$101: + cmpq $256, %r8 + jnb L__crypto_kem_keypair_derand_jazz$99 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$99 + movw %r11w, (%rax,%r8,2) + incq %r8 +L__crypto_kem_keypair_derand_jazz$100: +L__crypto_kem_keypair_derand_jazz$99: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$97: + jne L__crypto_kem_keypair_derand_jazz$98 + leaq 9856(%rsp), %rax + leaq 1888(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$92 +L__crypto_kem_keypair_derand_jazz$93: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$96 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$96: + cmpq $256, %r12 + jnb L__crypto_kem_keypair_derand_jazz$94 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$94 + movw %r11w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$95: +L__crypto_kem_keypair_derand_jazz$94: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$92: + jne L__crypto_kem_keypair_derand_jazz$93 + cmpq $255, %r9 + setbe %al + cmpq $255, %rdi + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +L__crypto_kem_keypair_derand_jazz$90: + jne L__crypto_kem_keypair_derand_jazz$91 + vmovdqu 96(%rsp), %ymm0 + vmovdqu %ymm0, 352(%rsp) + vmovdqu %ymm0, 864(%rsp) + vmovdqu %ymm0, 1376(%rsp) + vmovdqu %ymm0, 1888(%rsp) + vmovdqu %ymm0, 96(%rsp) + movb $1, 384(%rsp) + movb $1, 385(%rsp) + movb $2, 896(%rsp) + movb $1, 897(%rsp) + movb $0, 1408(%rsp) + movb $2, 1409(%rsp) + movb $1, 1920(%rsp) + movb $2, 1921(%rsp) + leaq 2912(%rsp), %rax + leaq 352(%rsp), %rcx + leaq 864(%rsp), %rdx + leaq 1376(%rsp), %rsi + leaq 1888(%rsp), %rdi + call L_shake128_absorb4x_34$1 +L__crypto_kem_keypair_derand_jazz$89: + leaq 2912(%rsp), %rax + leaq 352(%rsp), %rdi + leaq 864(%rsp), %r8 + leaq 1376(%rsp), %r9 + leaq 1888(%rsp), %r10 + movq %rdi, %r11 + movq %r8, %rbx + movq %r9, %rbp + movq %r10, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$88: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 168(%rdi), %r11 + leaq 168(%r8), %rbx + leaq 168(%r9), %rbp + leaq 168(%r10), %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$87: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r11) + vmovhpd %xmm1, (%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbp) + vmovhpd %xmm0, (%r12) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r11) + vmovhpd %xmm1, 8(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbp) + vmovhpd %xmm0, 8(%r12) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r11) + vmovhpd %xmm1, 16(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbp) + vmovhpd %xmm0, 16(%r12) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r11) + vmovhpd %xmm1, 24(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbp) + vmovhpd %xmm0, 24(%r12) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r11) + vmovhpd %xmm1, 32(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbp) + vmovhpd %xmm0, 32(%r12) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r11) + vmovhpd %xmm1, 40(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbp) + vmovhpd %xmm0, 40(%r12) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r11) + vmovhpd %xmm1, 48(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbp) + vmovhpd %xmm0, 48(%r12) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r11) + vmovhpd %xmm1, 56(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbp) + vmovhpd %xmm0, 56(%r12) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r11) + vmovhpd %xmm1, 64(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbp) + vmovhpd %xmm0, 64(%r12) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r11) + vmovhpd %xmm1, 72(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbp) + vmovhpd %xmm0, 72(%r12) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r11) + vmovhpd %xmm1, 80(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbp) + vmovhpd %xmm0, 80(%r12) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r11) + vmovhpd %xmm1, 88(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbp) + vmovhpd %xmm0, 88(%r12) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r11) + vmovhpd %xmm1, 96(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbp) + vmovhpd %xmm0, 96(%r12) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r11) + vmovhpd %xmm1, 104(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbp) + vmovhpd %xmm0, 104(%r12) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r11) + vmovhpd %xmm1, 112(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbp) + vmovhpd %xmm0, 112(%r12) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r11) + vmovhpd %xmm1, 120(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbp) + vmovhpd %xmm0, 120(%r12) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r11) + vmovhpd %xmm1, 128(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbp) + vmovhpd %xmm0, 128(%r12) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r11) + vmovhpd %xmm1, 136(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbp) + vmovhpd %xmm0, 136(%r12) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r11) + vmovhpd %xmm1, 144(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbp) + vmovhpd %xmm0, 144(%r12) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r11) + vmovhpd %xmm1, 152(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbp) + vmovhpd %xmm0, 152(%r12) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r11) + vmovhpd %xmm1, 160(%rbx) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbp) + vmovhpd %xmm0, 160(%r12) + leaq 336(%rdi), %rdi + leaq 336(%r8), %r8 + leaq 336(%r9), %r9 + leaq 336(%r10), %r10 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$86: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rdi) + vmovhpd %xmm1, (%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r9) + vmovhpd %xmm0, (%r10) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rdi) + vmovhpd %xmm1, 8(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r9) + vmovhpd %xmm0, 8(%r10) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rdi) + vmovhpd %xmm1, 16(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r9) + vmovhpd %xmm0, 16(%r10) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rdi) + vmovhpd %xmm1, 24(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r9) + vmovhpd %xmm0, 24(%r10) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rdi) + vmovhpd %xmm1, 32(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r9) + vmovhpd %xmm0, 32(%r10) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rdi) + vmovhpd %xmm1, 40(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r9) + vmovhpd %xmm0, 40(%r10) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rdi) + vmovhpd %xmm1, 48(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r9) + vmovhpd %xmm0, 48(%r10) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rdi) + vmovhpd %xmm1, 56(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r9) + vmovhpd %xmm0, 56(%r10) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rdi) + vmovhpd %xmm1, 64(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r9) + vmovhpd %xmm0, 64(%r10) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rdi) + vmovhpd %xmm1, 72(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r9) + vmovhpd %xmm0, 72(%r10) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rdi) + vmovhpd %xmm1, 80(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r9) + vmovhpd %xmm0, 80(%r10) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rdi) + vmovhpd %xmm1, 88(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r9) + vmovhpd %xmm0, 88(%r10) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rdi) + vmovhpd %xmm1, 96(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r9) + vmovhpd %xmm0, 96(%r10) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rdi) + vmovhpd %xmm1, 104(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r9) + vmovhpd %xmm0, 104(%r10) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rdi) + vmovhpd %xmm1, 112(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r9) + vmovhpd %xmm0, 112(%r10) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rdi) + vmovhpd %xmm1, 120(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r9) + vmovhpd %xmm0, 120(%r10) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rdi) + vmovhpd %xmm1, 128(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r9) + vmovhpd %xmm0, 128(%r10) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%rdi) + vmovhpd %xmm1, 136(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%r9) + vmovhpd %xmm0, 136(%r10) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%rdi) + vmovhpd %xmm1, 144(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%r9) + vmovhpd %xmm0, 144(%r10) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%rdi) + vmovhpd %xmm1, 152(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%r9) + vmovhpd %xmm0, 152(%r10) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%rdi) + vmovhpd %xmm1, 160(%r8) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%r9) + vmovhpd %xmm0, 160(%r10) + leaq 10368(%rsp), %r11 + leaq 352(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$85: + movq %r12, %rdi + leaq 10880(%rsp), %r11 + leaq 864(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$84: + movq %r12, %r9 + leaq 11392(%rsp), %r11 + leaq 1376(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$83: + movq %r12, %r8 + leaq 11904(%rsp), %r11 + leaq 1888(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$82: + cmpq $255, %rdi + setbe %al + cmpq $255, %r9 + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl + jmp L__crypto_kem_keypair_derand_jazz$59 +L__crypto_kem_keypair_derand_jazz$60: + leaq 2912(%rsp), %rax + leaq 352(%rsp), %r10 + leaq 864(%rsp), %r11 + leaq 1376(%rsp), %rbx + leaq 1888(%rsp), %rbp + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L__crypto_kem_keypair_derand_jazz$81: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%r10) + vmovhpd %xmm1, (%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%rbx) + vmovhpd %xmm0, (%rbp) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%r10) + vmovhpd %xmm1, 8(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%rbx) + vmovhpd %xmm0, 8(%rbp) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%r10) + vmovhpd %xmm1, 16(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%rbx) + vmovhpd %xmm0, 16(%rbp) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%r10) + vmovhpd %xmm1, 24(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%rbx) + vmovhpd %xmm0, 24(%rbp) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%r10) + vmovhpd %xmm1, 32(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%rbx) + vmovhpd %xmm0, 32(%rbp) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%r10) + vmovhpd %xmm1, 40(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%rbx) + vmovhpd %xmm0, 40(%rbp) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%r10) + vmovhpd %xmm1, 48(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%rbx) + vmovhpd %xmm0, 48(%rbp) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%r10) + vmovhpd %xmm1, 56(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%rbx) + vmovhpd %xmm0, 56(%rbp) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%r10) + vmovhpd %xmm1, 64(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%rbx) + vmovhpd %xmm0, 64(%rbp) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%r10) + vmovhpd %xmm1, 72(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%rbx) + vmovhpd %xmm0, 72(%rbp) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%r10) + vmovhpd %xmm1, 80(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%rbx) + vmovhpd %xmm0, 80(%rbp) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%r10) + vmovhpd %xmm1, 88(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%rbx) + vmovhpd %xmm0, 88(%rbp) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%r10) + vmovhpd %xmm1, 96(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%rbx) + vmovhpd %xmm0, 96(%rbp) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%r10) + vmovhpd %xmm1, 104(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%rbx) + vmovhpd %xmm0, 104(%rbp) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%r10) + vmovhpd %xmm1, 112(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%rbx) + vmovhpd %xmm0, 112(%rbp) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%r10) + vmovhpd %xmm1, 120(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%rbx) + vmovhpd %xmm0, 120(%rbp) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%r10) + vmovhpd %xmm1, 128(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%rbx) + vmovhpd %xmm0, 128(%rbp) + vmovdqu 544(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 136(%r10) + vmovhpd %xmm1, 136(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 136(%rbx) + vmovhpd %xmm0, 136(%rbp) + vmovdqu 576(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 144(%r10) + vmovhpd %xmm1, 144(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 144(%rbx) + vmovhpd %xmm0, 144(%rbp) + vmovdqu 608(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 152(%r10) + vmovhpd %xmm1, 152(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 152(%rbx) + vmovhpd %xmm0, 152(%rbp) + vmovdqu 640(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 160(%r10) + vmovhpd %xmm1, 160(%r11) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 160(%rbx) + vmovhpd %xmm0, 160(%rbp) + leaq 10368(%rsp), %rax + leaq 352(%rsp), %rcx + movq $0, %rdx + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$76 +L__crypto_kem_keypair_derand_jazz$77: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$80 + movw %si, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_keypair_derand_jazz$80: + cmpq $256, %rdi + jnb L__crypto_kem_keypair_derand_jazz$78 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$78 + movw %r11w, (%rax,%rdi,2) + incq %rdi +L__crypto_kem_keypair_derand_jazz$79: +L__crypto_kem_keypair_derand_jazz$78: + cmpq $255, %rdi + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$76: + jne L__crypto_kem_keypair_derand_jazz$77 + leaq 10880(%rsp), %rax + leaq 864(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$71 +L__crypto_kem_keypair_derand_jazz$72: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$75 + movw %si, (%rax,%r9,2) + incq %r9 +L__crypto_kem_keypair_derand_jazz$75: + cmpq $256, %r9 + jnb L__crypto_kem_keypair_derand_jazz$73 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$73 + movw %r11w, (%rax,%r9,2) + incq %r9 +L__crypto_kem_keypair_derand_jazz$74: +L__crypto_kem_keypair_derand_jazz$73: + cmpq $255, %r9 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$71: + jne L__crypto_kem_keypair_derand_jazz$72 + leaq 11392(%rsp), %rax + leaq 1376(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$66 +L__crypto_kem_keypair_derand_jazz$67: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$70 + movw %si, (%rax,%r8,2) + incq %r8 +L__crypto_kem_keypair_derand_jazz$70: + cmpq $256, %r8 + jnb L__crypto_kem_keypair_derand_jazz$68 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$68 + movw %r11w, (%rax,%r8,2) + incq %r8 +L__crypto_kem_keypair_derand_jazz$69: +L__crypto_kem_keypair_derand_jazz$68: + cmpq $255, %r8 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$66: + jne L__crypto_kem_keypair_derand_jazz$67 + leaq 11904(%rsp), %rax + leaq 1888(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil + jmp L__crypto_kem_keypair_derand_jazz$61 +L__crypto_kem_keypair_derand_jazz$62: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + movw %r10w, %r11w + shrw $4, %r11w + andw $15, %r10w + shlw $8, %r10w + orw %r10w, %si + incq %rdx + movzbw (%rcx,%rdx), %r10w + shlw $4, %r10w + orw %r10w, %r11w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$65 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$65: + cmpq $256, %r12 + jnb L__crypto_kem_keypair_derand_jazz$63 + cmpw $3329, %r11w + jnb L__crypto_kem_keypair_derand_jazz$63 + movw %r11w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$64: +L__crypto_kem_keypair_derand_jazz$63: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %r10b + testb %r10b, %sil +L__crypto_kem_keypair_derand_jazz$61: + jne L__crypto_kem_keypair_derand_jazz$62 + cmpq $255, %rdi + setbe %al + cmpq $255, %r9 + setbe %cl + orb %cl, %al + cmpq $255, %r8 + setbe %cl + cmpq $255, %r12 + setbe %dl + orb %dl, %cl + orb %al, %cl +L__crypto_kem_keypair_derand_jazz$59: + jne L__crypto_kem_keypair_derand_jazz$60 + vmovdqu 96(%rsp), %ymm0 + vmovdqu %ymm0, 352(%rsp) + movb $2, 384(%rsp) + movb $2, 385(%rsp) + leaq 352(%rsp), %rax + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vmovdqu %ymm0, 256(%rsp) + vmovdqu %ymm0, 288(%rsp) + vmovdqu %ymm0, 320(%rsp) + vpbroadcastq (%rax), %ymm5 + movq 8(%rax), %rcx + movq glob_data + 6208(%rip), %rdx + movq %rcx, 128(%rsp,%rdx,8) + movq 16(%rax), %rcx + movq glob_data + 6216(%rip), %rdx + movq %rcx, 128(%rsp,%rdx,8) + movq 24(%rax), %rcx + movq glob_data + 6224(%rip), %rdx + movq %rcx, 128(%rsp,%rdx,8) + movb 32(%rax), %cl + movq glob_data + 6232(%rip), %rdx + shlq $3, %rdx + movb %cl, 128(%rsp,%rdx) + movb 33(%rax), %al + incq %rdx + movb %al, 128(%rsp,%rdx) + incq %rdx + movb $31, 128(%rsp,%rdx) + movq glob_data + 6360(%rip), %rax + shlq $3, %rax + movq $167, %rcx + andq $7, %rcx + addq %rcx, %rax + movb $-128, 128(%rsp,%rax) + vmovdqu 160(%rsp), %ymm0 + vmovdqu 192(%rsp), %ymm1 + vmovdqu 224(%rsp), %ymm2 + vmovdqu 256(%rsp), %ymm6 + vmovdqu 288(%rsp), %ymm3 + vmovdqu 320(%rsp), %ymm4 + leaq 352(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_keypair_derand_jazz$58: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_keypair_derand_jazz$58 + vmovdqu %ymm5, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + vmovdqu %ymm6, 256(%rsp) + vmovdqu %ymm3, 288(%rsp) + vmovdqu %ymm4, 320(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 520(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_keypair_derand_jazz$57: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_keypair_derand_jazz$57 + vmovdqu %ymm5, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + vmovdqu %ymm6, 256(%rsp) + vmovdqu %ymm3, 288(%rsp) + vmovdqu %ymm4, 320(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 688(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_keypair_derand_jazz$56: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm3, %ymm7 + vpxor %ymm4, %ymm6, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm5, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm5, %ymm5 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%rsi), %ymm6, %ymm7 + vpsrlvq 96(%rdi), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm6 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm4, %ymm4 + vpermq $-115, %ymm1, %ymm6 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm4, %ymm1 + vpsrlvq 160(%rdi), %ymm4, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm3, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm6, %ymm4 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm3, %ymm3 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm3, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm4 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm6, %ymm12 + vpxor %ymm6, %ymm1, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm5, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm3, %ymm2 + vpermq $-115, %ymm4, %ymm3 + vpermq $114, %ymm12, %ymm4 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm0, %ymm6 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rcx,%rdx), %ymm5, %ymm5 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_keypair_derand_jazz$56 + vmovdqu %ymm5, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + vmovdqu %ymm6, 256(%rsp) + vmovdqu %ymm3, 288(%rsp) + vmovdqu %ymm4, 320(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + vmovdqu %ymm5, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + vmovdqu %ymm6, 256(%rsp) + vmovdqu %ymm3, 288(%rsp) + vmovdqu %ymm4, 320(%rsp) + leaq 12416(%rsp), %r11 + leaq 352(%rsp), %rbx + call L_rej_uniform_avx$1 +L__crypto_kem_keypair_derand_jazz$55: + cmpq $255, %r12 + setbe %al + vmovdqu 128(%rsp), %ymm6 + vmovdqu 160(%rsp), %ymm0 + vmovdqu 192(%rsp), %ymm1 + vmovdqu 224(%rsp), %ymm2 + vmovdqu 256(%rsp), %ymm3 + vmovdqu 288(%rsp), %ymm4 + vmovdqu 320(%rsp), %ymm5 + jmp L__crypto_kem_keypair_derand_jazz$47 +L__crypto_kem_keypair_derand_jazz$48: + leaq 352(%rsp), %rax + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L__crypto_kem_keypair_derand_jazz$54: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L__crypto_kem_keypair_derand_jazz$54 + vmovdqu %ymm6, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + vmovdqu %ymm3, 256(%rsp) + vmovdqu %ymm4, 288(%rsp) + vmovdqu %ymm5, 320(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + movq glob_data + 6264(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 64(%rax) + movq glob_data + 6272(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 72(%rax) + movq glob_data + 6280(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 80(%rax) + movq glob_data + 6288(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 88(%rax) + movq glob_data + 6296(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 96(%rax) + movq glob_data + 6304(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 104(%rax) + movq glob_data + 6312(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 112(%rax) + movq glob_data + 6320(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 120(%rax) + movq glob_data + 6328(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 128(%rax) + movq glob_data + 6336(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 136(%rax) + movq glob_data + 6344(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 144(%rax) + movq glob_data + 6352(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 152(%rax) + movq glob_data + 6360(%rip), %rcx + movq 128(%rsp,%rcx,8), %rcx + movq %rcx, 160(%rax) + leaq 12416(%rsp), %rax + leaq 352(%rsp), %rcx + movq $0, %rdx + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil + jmp L__crypto_kem_keypair_derand_jazz$49 +L__crypto_kem_keypair_derand_jazz$50: + movzbw (%rcx,%rdx), %si + incq %rdx + movzbw (%rcx,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw (%rcx,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L__crypto_kem_keypair_derand_jazz$53 + movw %si, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$53: + cmpq $256, %r12 + jnb L__crypto_kem_keypair_derand_jazz$51 + cmpw $3329, %r8w + jnb L__crypto_kem_keypair_derand_jazz$51 + movw %r8w, (%rax,%r12,2) + incq %r12 +L__crypto_kem_keypair_derand_jazz$52: +L__crypto_kem_keypair_derand_jazz$51: + cmpq $255, %r12 + setbe %sil + cmpq $165, %rdx + setbe %dil + testb %dil, %sil +L__crypto_kem_keypair_derand_jazz$49: + jne L__crypto_kem_keypair_derand_jazz$50 + cmpq $255, %r12 + setbe %al +L__crypto_kem_keypair_derand_jazz$47: + cmpb $0, %al + jne L__crypto_kem_keypair_derand_jazz$48 + leaq 8320(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$46: + leaq 8832(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$45: + leaq 9344(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$44: + leaq 9856(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$43: + leaq 10368(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$42: + leaq 10880(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$41: + leaq 11392(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$40: + leaq 11904(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$39: + leaq 12416(%rsp), %rax + call L_nttunpack$1 +L__crypto_kem_keypair_derand_jazz$38: + movb $0, %cl + leaq 5248(%rsp), %rax + leaq 5760(%rsp), %rdi + leaq 6272(%rsp), %r8 + leaq 3712(%rsp), %r9 + leaq 32(%rsp), %r10 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +L__crypto_kem_keypair_derand_jazz$37: + leaq 1496(%rsp), %rsp + movb $4, %cl + leaq 4224(%rsp), %rax + leaq 4736(%rsp), %rdi + leaq 6784(%rsp), %r8 + leaq 7296(%rsp), %r9 + leaq 32(%rsp), %r10 + leaq -1496(%rsp), %rsp + call L_poly_getnoise_eta1_4x$1 +L__crypto_kem_keypair_derand_jazz$36: + leaq 1496(%rsp), %rsp + leaq 5248(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$35: + leaq 5760(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$34: + leaq 6272(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$33: + leaq 3712(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$32: + leaq 4224(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$31: + leaq 4736(%rsp), %rcx + call L_poly_ntt$1 +L__crypto_kem_keypair_derand_jazz$30: + leaq 6784(%rsp), %rcx + leaq 8320(%rsp), %rsi + leaq 5248(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$29: + leaq 2400(%rsp), %rcx + leaq 8832(%rsp), %rsi + leaq 5760(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$28: + leaq 6784(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$27: + leaq 2400(%rsp), %rcx + leaq 9344(%rsp), %rsi + leaq 6272(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$26: + leaq 6784(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$25: + leaq 6784(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$24: + leaq 7296(%rsp), %rcx + leaq 9856(%rsp), %rsi + leaq 5248(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$23: + leaq 2400(%rsp), %rcx + leaq 10368(%rsp), %rsi + leaq 5760(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$22: + leaq 7296(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$21: + leaq 2400(%rsp), %rcx + leaq 10880(%rsp), %rsi + leaq 6272(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$20: + leaq 7296(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$19: + leaq 7296(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$18: + leaq 7808(%rsp), %rcx + leaq 11392(%rsp), %rsi + leaq 5248(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$17: + leaq 2400(%rsp), %rcx + leaq 11904(%rsp), %rsi + leaq 5760(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$16: + leaq 7808(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$15: + leaq 2400(%rsp), %rcx + leaq 12416(%rsp), %rsi + leaq 6272(%rsp), %rdi + call L_poly_basemul$1 +L__crypto_kem_keypair_derand_jazz$14: + leaq 7808(%rsp), %rcx + leaq 2400(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$13: + leaq 7808(%rsp), %rax + call L_poly_frommont$1 +L__crypto_kem_keypair_derand_jazz$12: + leaq 6784(%rsp), %rcx + leaq 3712(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$11: + leaq 7296(%rsp), %rcx + leaq 4224(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$10: + leaq 7808(%rsp), %rcx + leaq 4736(%rsp), %rsi + call L_poly_add2$1 +L__crypto_kem_keypair_derand_jazz$9: + leaq 6784(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 7296(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + leaq 7808(%rsp), %rax + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu (%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, (%rax) + vmovdqu 32(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vmovdqu 64(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vmovdqu 96(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vmovdqu 128(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 160(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 160(%rax) + vmovdqu 192(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 192(%rax) + vmovdqu 224(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 256(%rax) + vmovdqu 288(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 320(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 320(%rax) + vmovdqu 352(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 352(%rax) + vmovdqu 384(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 384(%rax) + vmovdqu 416(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 416(%rax) + vmovdqu 448(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 480(%rax), %ymm2 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm0, 480(%rax) + movq 12952(%rsp), %rax + movq 12960(%rsp), %rcx + leaq 5248(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$8: + addq $384, %rcx + leaq 5760(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$7: + addq $384, %rcx + leaq 6272(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$6: + movq %rax, %rcx + leaq 6784(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$5: + addq $384, %rcx + leaq 7296(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$4: + addq $384, %rcx + leaq 7808(%rsp), %rdx + call L_poly_tobytes$1 +L__crypto_kem_keypair_derand_jazz$3: + addq $1152, %rax + movq 64(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 72(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 80(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 88(%rsp), %rcx + movq %rcx, (%rax) + movq 12944(%rsp), %rax + addq $1152, %rax + movq 12936(%rsp), %rcx + movq (%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 8(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 16(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 24(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 32(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 40(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 48(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 56(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 64(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 72(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 80(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 88(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 96(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 176(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 184(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 192(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 200(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 208(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 216(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 224(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 232(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 240(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 248(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 256(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 264(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 272(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 280(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 288(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 296(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 304(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 312(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 320(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 328(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 336(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 344(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 352(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 360(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 368(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 376(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 384(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 392(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 400(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 408(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 416(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 424(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 432(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 440(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 448(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 456(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 464(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 472(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 480(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 488(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 496(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 504(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 512(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 520(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 528(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 536(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 544(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 552(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 560(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 568(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 576(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 584(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 592(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 600(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 608(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 616(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 624(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 632(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 640(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 648(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 656(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 664(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 672(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 680(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 688(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 696(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 704(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 712(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 720(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 728(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 736(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 744(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 752(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 760(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 768(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 776(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 784(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 792(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 800(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 808(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 816(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 824(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 832(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 840(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 848(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 856(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 864(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 872(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 880(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 888(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 896(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 904(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 912(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 920(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 928(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 936(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 944(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 952(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 960(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 968(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 976(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 984(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 992(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1000(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1008(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1016(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1024(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1032(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1040(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1048(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1056(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1064(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1072(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1080(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1088(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1096(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1176(%rcx), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq %rax, 12944(%rsp) + movq 12936(%rsp), %r8 + movq $1184, %rdi + leaq 64(%rsp), %rax + leaq -248(%rsp), %rsp + call L_sha3_256$1 +L__crypto_kem_keypair_derand_jazz$2: + leaq 248(%rsp), %rsp + movq 12944(%rsp), %rax + movq 12928(%rsp), %rcx + leaq 64(%rsp), %rdx + movb (%rdx), %sil + movb %sil, (%rax) + movb 1(%rdx), %sil + movb %sil, 1(%rax) + movb 2(%rdx), %sil + movb %sil, 2(%rax) + movb 3(%rdx), %sil + movb %sil, 3(%rax) + movb 4(%rdx), %sil + movb %sil, 4(%rax) + movb 5(%rdx), %sil + movb %sil, 5(%rax) + movb 6(%rdx), %sil + movb %sil, 6(%rax) + movb 7(%rdx), %sil + movb %sil, 7(%rax) + movb 8(%rdx), %sil + movb %sil, 8(%rax) + movb 9(%rdx), %sil + movb %sil, 9(%rax) + movb 10(%rdx), %sil + movb %sil, 10(%rax) + movb 11(%rdx), %sil + movb %sil, 11(%rax) + movb 12(%rdx), %sil + movb %sil, 12(%rax) + movb 13(%rdx), %sil + movb %sil, 13(%rax) + movb 14(%rdx), %sil + movb %sil, 14(%rax) + movb 15(%rdx), %sil + movb %sil, 15(%rax) + movb 16(%rdx), %sil + movb %sil, 16(%rax) + movb 17(%rdx), %sil + movb %sil, 17(%rax) + movb 18(%rdx), %sil + movb %sil, 18(%rax) + movb 19(%rdx), %sil + movb %sil, 19(%rax) + movb 20(%rdx), %sil + movb %sil, 20(%rax) + movb 21(%rdx), %sil + movb %sil, 21(%rax) + movb 22(%rdx), %sil + movb %sil, 22(%rax) + movb 23(%rdx), %sil + movb %sil, 23(%rax) + movb 24(%rdx), %sil + movb %sil, 24(%rax) + movb 25(%rdx), %sil + movb %sil, 25(%rax) + movb 26(%rdx), %sil + movb %sil, 26(%rax) + movb 27(%rdx), %sil + movb %sil, 27(%rax) + movb 28(%rdx), %sil + movb %sil, 28(%rax) + movb 29(%rdx), %sil + movb %sil, 29(%rax) + movb 30(%rdx), %sil + movb %sil, 30(%rax) + movb 31(%rdx), %dl + movb %dl, 31(%rax) + addq $32, %rax + leaq 32(%rcx), %rcx + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + ret +L_rej_uniform_avx$1: + leaq glob_data + 4128(%rip), %r10 + vmovdqu glob_data + 448(%rip), %ymm0 + movq $0, %r12 + movq $0, %rbp + vpbroadcastb glob_data + 6430(%rip), %ymm1 + vpbroadcastw glob_data + 6416(%rip), %ymm2 + vmovdqu glob_data + 0(%rip), %ymm3 + cmpq $224, %r12 + setbe %al + cmpq $448, %rbp + setbe %cl + testb %cl, %al + jmp L_rej_uniform_avx$9 +L_rej_uniform_avx$10: + vpermq $-108, (%rbx,%rbp), %ymm4 + vpermq $-108, 24(%rbx,%rbp), %ymm5 + vpshufb %ymm3, %ymm4, %ymm4 + vpshufb %ymm3, %ymm5, %ymm5 + vpsrlw $4, %ymm4, %ymm6 + vpsrlw $4, %ymm5, %ymm7 + vpblendw $-86, %ymm6, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm5, %ymm5 + vpand %ymm2, %ymm4, %ymm4 + vpand %ymm2, %ymm5, %ymm5 + vpcmpgtw %ymm4, %ymm0, %ymm6 + vpcmpgtw %ymm5, %ymm0, %ymm7 + vpacksswb %ymm7, %ymm6, %ymm6 + vpmovmskb %ymm6, %rax + movq %rax, %rcx + andq $255, %rcx + vmovq (%r10,%rcx,8), %xmm6 + movq %rax, %rdx + shrq $16, %rdx + andq $255, %rdx + vmovq (%r10,%rdx,8), %xmm7 + movq %rax, %rsi + shrq $8, %rsi + andq $255, %rsi + vmovq (%r10,%rsi,8), %xmm8 + shrq $24, %rax + andq $255, %rax + vmovq (%r10,%rax,8), %xmm9 + vinserti128 $1, %xmm7, %ymm6, %ymm6 + popcnt %rcx, %rcx + popcnt %rdx, %rdx + addq %r12, %rcx + vinserti128 $1, %xmm9, %ymm8, %ymm7 + addq %rcx, %rdx + popcnt %rsi, %rsi + addq %rdx, %rsi + popcnt %rax, %rax + addq %rsi, %rax + vpaddb %ymm1, %ymm6, %ymm8 + vpunpcklbw %ymm8, %ymm6, %ymm6 + vpaddb %ymm1, %ymm7, %ymm8 + vpunpcklbw %ymm8, %ymm7, %ymm7 + vpshufb %ymm6, %ymm4, %ymm4 + vpshufb %ymm7, %ymm5, %ymm5 + vmovdqu %xmm4, (%r11,%r12,2) + vextracti128 $1, %ymm4, (%r11,%rcx,2) + vmovdqu %xmm5, (%r11,%rdx,2) + vextracti128 $1, %ymm5, (%r11,%rsi,2) + movq %rax, %r12 + cmpq $224, %r12 + setbe %al + addq $48, %rbp + cmpq $448, %rbp + setbe %cl + testb %cl, %al +L_rej_uniform_avx$9: + jne L_rej_uniform_avx$10 + cmpq $248, %r12 + setbe %al + cmpq $488, %rbp + setbe %cl + testb %cl, %al + movq $21845, %rax + jmp L_rej_uniform_avx$7 +L_rej_uniform_avx$8: + vmovdqu (%rbx,%rbp), %xmm4 + vpshufb %xmm3, %xmm4, %xmm4 + vpsrlw $4, %xmm4, %xmm5 + vpblendw $-86, %xmm5, %xmm4, %xmm4 + vpand %xmm2, %xmm4, %xmm4 + vpcmpgtw %xmm4, %xmm0, %xmm5 + vpmovmskb %xmm5, %rcx + pext %rax, %rcx, %rcx + vmovq (%r10,%rcx,8), %xmm5 + popcnt %rcx, %rcx + vpaddb %xmm1, %xmm5, %xmm6 + vpunpcklbw %xmm6, %xmm5, %xmm5 + vpshufb %xmm5, %xmm4, %xmm4 + vmovdqu %xmm4, (%r11,%r12,2) + addq %rcx, %r12 + addq $12, %rbp + cmpq $248, %r12 + setbe %cl + cmpq $488, %rbp + setbe %dl + testb %dl, %cl +L_rej_uniform_avx$7: + jne L_rej_uniform_avx$8 + cmpq $255, %r12 + setbe %al + cmpq $501, %rbp + setbe %cl + testb %cl, %al + jmp L_rej_uniform_avx$2 +L_rej_uniform_avx$3: + movzbw (%rbx,%rbp), %ax + incq %rbp + movzbw (%rbx,%rbp), %dx + incq %rbp + movw %dx, %cx + shlw $8, %dx + orw %dx, %ax + andw $4095, %ax + shrw $4, %cx + movzbw (%rbx,%rbp), %dx + incq %rbp + shlw $4, %dx + orw %dx, %cx + cmpw $3329, %ax + jnb L_rej_uniform_avx$6 + movw %ax, (%r11,%r12,2) + incq %r12 +L_rej_uniform_avx$6: + cmpw $3329, %cx + jnb L_rej_uniform_avx$4 + cmpq $256, %r12 + jnb L_rej_uniform_avx$4 + movw %cx, (%r11,%r12,2) + incq %r12 +L_rej_uniform_avx$5: +L_rej_uniform_avx$4: + cmpq $255, %r12 + setbe %al + cmpq $501, %rbp + setbe %cl + testb %cl, %al +L_rej_uniform_avx$2: + jne L_rej_uniform_avx$3 + ret +L_poly_tomsg_1$1: + call L_poly_csubq$1 +L_poly_tomsg_1$2: + leaq glob_data + 224(%rip), %rsi + vmovdqu (%rsi), %ymm0 + leaq glob_data + 192(%rip), %rsi + vmovdqu (%rsi), %ymm1 + vmovdqu (%rcx), %ymm2 + vmovdqu 32(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, (%rax) + vmovdqu 64(%rcx), %ymm2 + vmovdqu 96(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 4(%rax) + vmovdqu 128(%rcx), %ymm2 + vmovdqu 160(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 8(%rax) + vmovdqu 192(%rcx), %ymm2 + vmovdqu 224(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 12(%rax) + vmovdqu 256(%rcx), %ymm2 + vmovdqu 288(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 16(%rax) + vmovdqu 320(%rcx), %ymm2 + vmovdqu 352(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 20(%rax) + vmovdqu 384(%rcx), %ymm2 + vmovdqu 416(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm3 + vpsraw $15, %ymm2, %ymm4 + vpsraw $15, %ymm3, %ymm5 + vpxor %ymm4, %ymm2, %ymm2 + vpxor %ymm5, %ymm3, %ymm3 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm3, %ymm3 + vpacksswb %ymm3, %ymm2, %ymm2 + vpermq $-40, %ymm2, %ymm2 + vpmovmskb %ymm2, %esi + movl %esi, 24(%rax) + vmovdqu 448(%rcx), %ymm2 + vmovdqu 480(%rcx), %ymm3 + vpsubw %ymm2, %ymm0, %ymm2 + vpsubw %ymm3, %ymm0, %ymm0 + vpsraw $15, %ymm2, %ymm3 + vpsraw $15, %ymm0, %ymm4 + vpxor %ymm3, %ymm2, %ymm2 + vpxor %ymm4, %ymm0, %ymm0 + vpsubw %ymm1, %ymm2, %ymm2 + vpsubw %ymm1, %ymm0, %ymm0 + vpacksswb %ymm0, %ymm2, %ymm0 + vpermq $-40, %ymm0, %ymm0 + vpmovmskb %ymm0, %ecx + movl %ecx, 28(%rax) + ret +L_poly_tobytes$1: + leaq glob_data + 448(%rip), %rsi + vmovdqu (%rsi), %ymm0 + vmovdqu (%rdx), %ymm7 + vmovdqu 32(%rdx), %ymm8 + vmovdqu 64(%rdx), %ymm1 + vmovdqu 96(%rdx), %ymm2 + vmovdqu 128(%rdx), %ymm3 + vmovdqu 160(%rdx), %ymm4 + vmovdqu 192(%rdx), %ymm5 + vmovdqu 224(%rdx), %ymm6 + vpsubw %ymm0, %ymm7, %ymm7 + vpsraw $15, %ymm7, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm0, %ymm8, %ymm8 + vpsraw $15, %ymm8, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm1, %ymm9, %ymm1 + vpsubw %ymm0, %ymm2, %ymm2 + vpsraw $15, %ymm2, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm2, %ymm9, %ymm2 + vpsubw %ymm0, %ymm3, %ymm3 + vpsraw $15, %ymm3, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm3, %ymm9, %ymm3 + vpsubw %ymm0, %ymm4, %ymm4 + vpsraw $15, %ymm4, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm4, %ymm9, %ymm4 + vpsubw %ymm0, %ymm5, %ymm5 + vpsraw $15, %ymm5, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm0, %ymm6, %ymm6 + vpsraw $15, %ymm6, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm6, %ymm9, %ymm6 + vpsllw $12, %ymm8, %ymm9 + vpor %ymm7, %ymm9, %ymm7 + vpsrlw $4, %ymm8, %ymm8 + vpsllw $8, %ymm1, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpsrlw $8, %ymm1, %ymm1 + vpsllw $4, %ymm2, %ymm2 + vpor %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm4, %ymm2 + vpor %ymm3, %ymm2, %ymm2 + vpsrlw $4, %ymm4, %ymm3 + vpsllw $8, %ymm5, %ymm4 + vpor %ymm4, %ymm3, %ymm3 + vpsrlw $8, %ymm5, %ymm4 + vpsllw $4, %ymm6, %ymm5 + vpor %ymm5, %ymm4, %ymm4 + vpslld $16, %ymm8, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm7, %ymm6 + vpblendw $-86, %ymm8, %ymm6, %ymm6 + vpslld $16, %ymm2, %ymm7 + vpblendw $-86, %ymm7, %ymm1, %ymm7 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm1 + vpslld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm2, %ymm3, %ymm8 + vpsrld $16, %ymm3, %ymm2 + vpblendw $-86, %ymm4, %ymm2, %ymm2 + vmovsldup %ymm7, %ymm3 + vpblendd $-86, %ymm3, %ymm5, %ymm3 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm7, %ymm4, %ymm4 + vmovsldup %ymm6, %ymm5 + vpblendd $-86, %ymm5, %ymm8, %ymm5 + vpsrlq $32, %ymm8, %ymm7 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vmovsldup %ymm2, %ymm7 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm2, %ymm1, %ymm1 + vpunpcklqdq %ymm5, %ymm3, %ymm2 + vpunpckhqdq %ymm5, %ymm3, %ymm3 + vpunpcklqdq %ymm4, %ymm7, %ymm5 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vpunpcklqdq %ymm1, %ymm6, %ymm7 + vpunpckhqdq %ymm1, %ymm6, %ymm1 + vperm2i128 $32, %ymm5, %ymm2, %ymm6 + vperm2i128 $49, %ymm5, %ymm2, %ymm2 + vperm2i128 $32, %ymm3, %ymm7, %ymm5 + vperm2i128 $49, %ymm3, %ymm7, %ymm3 + vperm2i128 $32, %ymm1, %ymm4, %ymm7 + vperm2i128 $49, %ymm1, %ymm4, %ymm1 + vmovdqu %ymm6, (%rcx) + vmovdqu %ymm5, 32(%rcx) + vmovdqu %ymm7, 64(%rcx) + vmovdqu %ymm2, 96(%rcx) + vmovdqu %ymm3, 128(%rcx) + vmovdqu %ymm1, 160(%rcx) + vmovdqu 256(%rdx), %ymm7 + vmovdqu 288(%rdx), %ymm8 + vmovdqu 320(%rdx), %ymm1 + vmovdqu 352(%rdx), %ymm2 + vmovdqu 384(%rdx), %ymm3 + vmovdqu 416(%rdx), %ymm4 + vmovdqu 448(%rdx), %ymm5 + vmovdqu 480(%rdx), %ymm6 + vpsubw %ymm0, %ymm7, %ymm7 + vpsraw $15, %ymm7, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm0, %ymm8, %ymm8 + vpsraw $15, %ymm8, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm1, %ymm9, %ymm1 + vpsubw %ymm0, %ymm2, %ymm2 + vpsraw $15, %ymm2, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm2, %ymm9, %ymm2 + vpsubw %ymm0, %ymm3, %ymm3 + vpsraw $15, %ymm3, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm3, %ymm9, %ymm3 + vpsubw %ymm0, %ymm4, %ymm4 + vpsraw $15, %ymm4, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm4, %ymm9, %ymm4 + vpsubw %ymm0, %ymm5, %ymm5 + vpsraw $15, %ymm5, %ymm9 + vpand %ymm0, %ymm9, %ymm9 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm0, %ymm6, %ymm6 + vpsraw $15, %ymm6, %ymm9 + vpand %ymm0, %ymm9, %ymm0 + vpaddw %ymm6, %ymm0, %ymm0 + vpsllw $12, %ymm8, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vpsrlw $4, %ymm8, %ymm7 + vpsllw $8, %ymm1, %ymm8 + vpor %ymm8, %ymm7, %ymm7 + vpsrlw $8, %ymm1, %ymm1 + vpsllw $4, %ymm2, %ymm2 + vpor %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm4, %ymm2 + vpor %ymm3, %ymm2, %ymm2 + vpsrlw $4, %ymm4, %ymm3 + vpsllw $8, %ymm5, %ymm4 + vpor %ymm4, %ymm3, %ymm3 + vpsrlw $8, %ymm5, %ymm4 + vpsllw $4, %ymm0, %ymm0 + vpor %ymm0, %ymm4, %ymm0 + vpslld $16, %ymm7, %ymm4 + vpblendw $-86, %ymm4, %ymm6, %ymm4 + vpsrld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm7, %ymm5, %ymm5 + vpslld $16, %ymm2, %ymm6 + vpblendw $-86, %ymm6, %ymm1, %ymm6 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm1 + vpslld $16, %ymm0, %ymm2 + vpblendw $-86, %ymm2, %ymm3, %ymm7 + vpsrld $16, %ymm3, %ymm2 + vpblendw $-86, %ymm0, %ymm2, %ymm0 + vmovsldup %ymm6, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm6, %ymm3, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm7, %ymm4 + vpsrlq $32, %ymm7, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm0, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vpunpcklqdq %ymm4, %ymm2, %ymm1 + vpunpckhqdq %ymm4, %ymm2, %ymm2 + vpunpcklqdq %ymm3, %ymm6, %ymm4 + vpunpckhqdq %ymm3, %ymm6, %ymm3 + vpunpcklqdq %ymm0, %ymm5, %ymm6 + vpunpckhqdq %ymm0, %ymm5, %ymm0 + vperm2i128 $32, %ymm4, %ymm1, %ymm5 + vperm2i128 $49, %ymm4, %ymm1, %ymm1 + vperm2i128 $32, %ymm2, %ymm6, %ymm4 + vperm2i128 $49, %ymm2, %ymm6, %ymm2 + vperm2i128 $32, %ymm0, %ymm3, %ymm6 + vperm2i128 $49, %ymm0, %ymm3, %ymm0 + vmovdqu %ymm5, 192(%rcx) + vmovdqu %ymm4, 224(%rcx) + vmovdqu %ymm6, 256(%rcx) + vmovdqu %ymm1, 288(%rcx) + vmovdqu %ymm2, 320(%rcx) + vmovdqu %ymm0, 352(%rcx) + ret +L_poly_sub$1: + vmovdqu (%rsi), %ymm0 + vmovdqu (%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, (%rcx) + vmovdqu 32(%rsi), %ymm0 + vmovdqu 32(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rcx) + vmovdqu 64(%rsi), %ymm0 + vmovdqu 64(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rcx) + vmovdqu 96(%rsi), %ymm0 + vmovdqu 96(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rcx) + vmovdqu 128(%rsi), %ymm0 + vmovdqu 128(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rcx) + vmovdqu 160(%rsi), %ymm0 + vmovdqu 160(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rcx) + vmovdqu 192(%rsi), %ymm0 + vmovdqu 192(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rcx) + vmovdqu 224(%rsi), %ymm0 + vmovdqu 224(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rcx) + vmovdqu 256(%rsi), %ymm0 + vmovdqu 256(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rcx) + vmovdqu 288(%rsi), %ymm0 + vmovdqu 288(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rcx) + vmovdqu 320(%rsi), %ymm0 + vmovdqu 320(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rcx) + vmovdqu 352(%rsi), %ymm0 + vmovdqu 352(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rcx) + vmovdqu 384(%rsi), %ymm0 + vmovdqu 384(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rcx) + vmovdqu 416(%rsi), %ymm0 + vmovdqu 416(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rcx) + vmovdqu 448(%rsi), %ymm0 + vmovdqu 448(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rcx) + vmovdqu 480(%rsi), %ymm0 + vmovdqu 480(%rdi), %ymm1 + vpsubw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_ntt$1: + leaq glob_data + 1280(%rip), %rsi + vmovdqu glob_data + 448(%rip), %ymm0 + vpbroadcastd (%rsi), %ymm1 + vpbroadcastd 4(%rsi), %ymm2 + vmovdqu (%rcx), %ymm3 + vmovdqu 32(%rcx), %ymm14 + vmovdqu 64(%rcx), %ymm4 + vmovdqu 96(%rcx), %ymm5 + vmovdqu 256(%rcx), %ymm6 + vmovdqu 288(%rcx), %ymm7 + vmovdqu 320(%rcx), %ymm12 + vmovdqu 352(%rcx), %ymm8 + vpmullw %ymm6, %ymm1, %ymm9 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmullw %ymm7, %ymm1, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm15 + vpmullw %ymm12, %ymm1, %ymm11 + vpmulhw %ymm12, %ymm2, %ymm7 + vpmullw %ymm8, %ymm1, %ymm12 + vpmulhw %ymm8, %ymm2, %ymm8 + vpmulhw %ymm0, %ymm9, %ymm9 + vpmulhw %ymm0, %ymm10, %ymm10 + vpmulhw %ymm0, %ymm11, %ymm11 + vpmulhw %ymm0, %ymm12, %ymm12 + vpsubw %ymm15, %ymm14, %ymm13 + vpaddw %ymm14, %ymm15, %ymm14 + vpsubw %ymm6, %ymm3, %ymm15 + vpaddw %ymm3, %ymm6, %ymm3 + vpsubw %ymm8, %ymm5, %ymm6 + vpaddw %ymm5, %ymm8, %ymm5 + vpsubw %ymm7, %ymm4, %ymm8 + vpaddw %ymm4, %ymm7, %ymm4 + vpaddw %ymm15, %ymm9, %ymm7 + vpsubw %ymm9, %ymm3, %ymm3 + vpaddw %ymm13, %ymm10, %ymm9 + vpsubw %ymm10, %ymm14, %ymm10 + vpaddw %ymm8, %ymm11, %ymm8 + vpsubw %ymm11, %ymm4, %ymm4 + vpaddw %ymm6, %ymm12, %ymm6 + vpsubw %ymm12, %ymm5, %ymm5 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm10, 32(%rcx) + vmovdqu %ymm4, 64(%rcx) + vmovdqu %ymm5, 96(%rcx) + vmovdqu %ymm7, 256(%rcx) + vmovdqu %ymm9, 288(%rcx) + vmovdqu %ymm8, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu 128(%rcx), %ymm3 + vmovdqu 160(%rcx), %ymm12 + vmovdqu 192(%rcx), %ymm4 + vmovdqu 224(%rcx), %ymm5 + vmovdqu 384(%rcx), %ymm6 + vmovdqu 416(%rcx), %ymm7 + vmovdqu 448(%rcx), %ymm10 + vmovdqu 480(%rcx), %ymm11 + vpmullw %ymm6, %ymm1, %ymm14 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmullw %ymm7, %ymm1, %ymm8 + vpmulhw %ymm7, %ymm2, %ymm13 + vpmullw %ymm10, %ymm1, %ymm9 + vpmulhw %ymm10, %ymm2, %ymm7 + vpmullw %ymm11, %ymm1, %ymm10 + vpmulhw %ymm11, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm14, %ymm2 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhw %ymm0, %ymm9, %ymm9 + vpmulhw %ymm0, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm6, %ymm3, %ymm13 + vpaddw %ymm3, %ymm6, %ymm3 + vpsubw %ymm1, %ymm5, %ymm6 + vpaddw %ymm5, %ymm1, %ymm1 + vpsubw %ymm7, %ymm4, %ymm5 + vpaddw %ymm4, %ymm7, %ymm4 + vpaddw %ymm13, %ymm2, %ymm7 + vpsubw %ymm2, %ymm3, %ymm2 + vpaddw %ymm11, %ymm8, %ymm3 + vpsubw %ymm8, %ymm12, %ymm8 + vpaddw %ymm5, %ymm9, %ymm5 + vpsubw %ymm9, %ymm4, %ymm9 + vpaddw %ymm6, %ymm10, %ymm4 + vpsubw %ymm10, %ymm1, %ymm14 + vmovdqu %ymm7, 384(%rcx) + vmovdqu %ymm3, 416(%rcx) + vmovdqu %ymm5, 448(%rcx) + vmovdqu %ymm4, 480(%rcx) + vpbroadcastd 8(%rsi), %ymm1 + vpbroadcastd 12(%rsi), %ymm4 + vmovdqu %ymm8, %ymm10 + vmovdqu %ymm9, %ymm3 + vmovdqu (%rcx), %ymm6 + vmovdqu 32(%rcx), %ymm5 + vmovdqu 64(%rcx), %ymm9 + vmovdqu 96(%rcx), %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm4, %ymm8 + vpmullw %ymm10, %ymm1, %ymm13 + vpmulhw %ymm10, %ymm4, %ymm12 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm4, %ymm10 + vpmullw %ymm14, %ymm1, %ymm3 + vpmulhw %ymm14, %ymm4, %ymm14 + vpmulhw %ymm0, %ymm11, %ymm11 + vpmulhw %ymm0, %ymm13, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm12, %ymm5, %ymm4 + vpaddw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm6, %ymm12 + vpaddw %ymm6, %ymm8, %ymm13 + vpsubw %ymm14, %ymm7, %ymm6 + vpaddw %ymm7, %ymm14, %ymm7 + vpsubw %ymm10, %ymm9, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm12, %ymm11, %ymm10 + vpsubw %ymm11, %ymm13, %ymm12 + vpaddw %ymm4, %ymm1, %ymm4 + vpsubw %ymm1, %ymm5, %ymm5 + vpaddw %ymm8, %ymm2, %ymm8 + vpsubw %ymm2, %ymm9, %ymm2 + vpaddw %ymm6, %ymm3, %ymm13 + vpsubw %ymm3, %ymm7, %ymm7 + vmovdqu 16(%rsi), %ymm3 + vmovdqu 48(%rsi), %ymm6 + vperm2i128 $32, %ymm10, %ymm12, %ymm11 + vperm2i128 $49, %ymm10, %ymm12, %ymm9 + vperm2i128 $32, %ymm4, %ymm5, %ymm1 + vperm2i128 $49, %ymm4, %ymm5, %ymm12 + vperm2i128 $32, %ymm8, %ymm2, %ymm5 + vperm2i128 $49, %ymm8, %ymm2, %ymm8 + vperm2i128 $32, %ymm13, %ymm7, %ymm2 + vperm2i128 $49, %ymm13, %ymm7, %ymm13 + vpmullw %ymm5, %ymm3, %ymm4 + vpmulhw %ymm5, %ymm6, %ymm10 + vpmullw %ymm8, %ymm3, %ymm14 + vpmulhw %ymm8, %ymm6, %ymm8 + vpmullw %ymm2, %ymm3, %ymm5 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm8, %ymm9, %ymm7 + vpaddw %ymm9, %ymm8, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 80(%rsi), %ymm1 + vmovdqu 112(%rsi), %ymm10 + vpunpcklqdq %ymm2, %ymm9, %ymm5 + vpunpckhqdq %ymm2, %ymm9, %ymm12 + vpunpcklqdq %ymm3, %ymm4, %ymm8 + vpunpckhqdq %ymm3, %ymm4, %ymm6 + vpunpcklqdq %ymm7, %ymm13, %ymm2 + vpunpckhqdq %ymm7, %ymm13, %ymm4 + vpunpcklqdq %ymm11, %ymm14, %ymm3 + vpunpckhqdq %ymm11, %ymm14, %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm10, %ymm13 + vpmullw %ymm4, %ymm1, %ymm14 + vpmulhw %ymm4, %ymm10, %ymm4 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm10, %ymm9 + vpmullw %ymm7, %ymm1, %ymm3 + vpmulhw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm0, %ymm11, %ymm10 + vpmulhw %ymm0, %ymm14, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm4, %ymm12, %ymm11 + vpaddw %ymm12, %ymm4, %ymm4 + vpsubw %ymm13, %ymm5, %ymm12 + vpaddw %ymm5, %ymm13, %ymm13 + vpsubw %ymm7, %ymm6, %ymm5 + vpaddw %ymm6, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpaddw %ymm12, %ymm10, %ymm9 + vpsubw %ymm10, %ymm13, %ymm12 + vpaddw %ymm11, %ymm1, %ymm10 + vpsubw %ymm1, %ymm4, %ymm4 + vpaddw %ymm7, %ymm2, %ymm7 + vpsubw %ymm2, %ymm8, %ymm2 + vpaddw %ymm5, %ymm3, %ymm13 + vpsubw %ymm3, %ymm6, %ymm6 + vmovdqu 144(%rsi), %ymm3 + vmovdqu 176(%rsi), %ymm5 + vmovsldup %ymm9, %ymm1 + vpblendd $-86, %ymm1, %ymm12, %ymm11 + vpsrlq $32, %ymm12, %ymm1 + vpblendd $-86, %ymm9, %ymm1, %ymm8 + vmovsldup %ymm10, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm1 + vpsrlq $32, %ymm4, %ymm4 + vpblendd $-86, %ymm10, %ymm4, %ymm12 + vmovsldup %ymm7, %ymm4 + vpblendd $-86, %ymm4, %ymm2, %ymm9 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm7, %ymm2, %ymm7 + vmovsldup %ymm13, %ymm2 + vpblendd $-86, %ymm2, %ymm6, %ymm2 + vpsrlq $32, %ymm6, %ymm4 + vpblendd $-86, %ymm13, %ymm4, %ymm13 + vpmullw %ymm9, %ymm3, %ymm4 + vpmulhw %ymm9, %ymm5, %ymm10 + vpmullw %ymm7, %ymm3, %ymm14 + vpmulhw %ymm7, %ymm5, %ymm9 + vpmullw %ymm2, %ymm3, %ymm6 + vpmulhw %ymm2, %ymm5, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm5, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 208(%rsi), %ymm5 + vmovdqu 240(%rsi), %ymm6 + vpslld $16, %ymm2, %ymm1 + vpblendw $-86, %ymm1, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm8 + vpslld $16, %ymm3, %ymm1 + vpblendw $-86, %ymm1, %ymm4, %ymm1 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm12 + vpslld $16, %ymm7, %ymm2 + vpblendw $-86, %ymm2, %ymm13, %ymm4 + vpsrld $16, %ymm13, %ymm2 + vpblendw $-86, %ymm7, %ymm2, %ymm7 + vpslld $16, %ymm11, %ymm2 + vpblendw $-86, %ymm2, %ymm14, %ymm2 + vpsrld $16, %ymm14, %ymm3 + vpblendw $-86, %ymm11, %ymm3, %ymm13 + vpmullw %ymm4, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm6, %ymm11 + vpmullw %ymm7, %ymm5, %ymm4 + vpmulhw %ymm7, %ymm6, %ymm9 + vpmullw %ymm2, %ymm5, %ymm7 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm5, %ymm14 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm4, %ymm4 + vpmulhw %ymm0, %ymm7, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm11, %ymm10, %ymm9 + vpaddw %ymm10, %ymm11, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm3 + vpaddw %ymm7, %ymm4, %ymm7 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm8 + vpsubw %ymm5, %ymm1, %ymm1 + vpaddw %ymm11, %ymm6, %ymm5 + vpsubw %ymm6, %ymm12, %ymm10 + vmovdqu 272(%rsi), %ymm9 + vmovdqu 304(%rsi), %ymm13 + vmovdqu 336(%rsi), %ymm11 + vmovdqu 368(%rsi), %ymm6 + vpmullw %ymm1, %ymm9, %ymm14 + vpmulhw %ymm1, %ymm13, %ymm12 + vpmullw %ymm10, %ymm9, %ymm9 + vpmulhw %ymm10, %ymm13, %ymm13 + vpmullw %ymm8, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm6, %ymm1 + vpmullw %ymm5, %ymm11, %ymm11 + vpmulhw %ymm5, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpmulhw %ymm0, %ymm9, %ymm8 + vpmulhw %ymm0, %ymm10, %ymm9 + vpmulhw %ymm0, %ymm11, %ymm10 + vpsubw %ymm13, %ymm4, %ymm11 + vpaddw %ymm4, %ymm13, %ymm4 + vpsubw %ymm12, %ymm3, %ymm13 + vpaddw %ymm3, %ymm12, %ymm3 + vpsubw %ymm5, %ymm7, %ymm12 + vpaddw %ymm7, %ymm5, %ymm5 + vpsubw %ymm1, %ymm2, %ymm7 + vpaddw %ymm2, %ymm1, %ymm1 + vpaddw %ymm13, %ymm6, %ymm2 + vpsubw %ymm6, %ymm3, %ymm3 + vpaddw %ymm11, %ymm8, %ymm6 + vpsubw %ymm8, %ymm4, %ymm4 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm9, %ymm1, %ymm8 + vpaddw %ymm12, %ymm10, %ymm1 + vpsubw %ymm10, %ymm5, %ymm5 + vmovdqu glob_data + 384(%rip), %ymm9 + vpmulhw %ymm9, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm9, %ymm4, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm9, %ymm8, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm8, %ymm8 + vpmulhw %ymm9, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm5 + vpmulhw %ymm9, %ymm2, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm9, %ymm6, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm6, %ymm6 + vpmulhw %ymm9, %ymm7, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm9, %ymm1, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm1, %ymm1 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu %ymm2, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu %ymm8, 128(%rcx) + vmovdqu %ymm5, 160(%rcx) + vmovdqu %ymm7, 192(%rcx) + vmovdqu %ymm1, 224(%rcx) + vpbroadcastd 400(%rsi), %ymm5 + vpbroadcastd 404(%rsi), %ymm8 + vmovdqu 384(%rcx), %ymm1 + vmovdqu 416(%rcx), %ymm2 + vmovdqu 448(%rcx), %ymm10 + vmovdqu 480(%rcx), %ymm9 + vmovdqu 256(%rcx), %ymm3 + vmovdqu 288(%rcx), %ymm7 + vmovdqu 320(%rcx), %ymm6 + vmovdqu 352(%rcx), %ymm4 + vpmullw %ymm1, %ymm5, %ymm14 + vpmulhw %ymm1, %ymm8, %ymm12 + vpmullw %ymm2, %ymm5, %ymm1 + vpmulhw %ymm2, %ymm8, %ymm11 + vpmullw %ymm10, %ymm5, %ymm2 + vpmulhw %ymm10, %ymm8, %ymm13 + vpmullw %ymm9, %ymm5, %ymm10 + vpmulhw %ymm9, %ymm8, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm8 + vpmulhw %ymm0, %ymm1, %ymm9 + vpmulhw %ymm0, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm10, %ymm2 + vpsubw %ymm11, %ymm7, %ymm10 + vpaddw %ymm7, %ymm11, %ymm11 + vpsubw %ymm12, %ymm3, %ymm7 + vpaddw %ymm3, %ymm12, %ymm12 + vpsubw %ymm5, %ymm4, %ymm3 + vpaddw %ymm4, %ymm5, %ymm4 + vpsubw %ymm13, %ymm6, %ymm5 + vpaddw %ymm6, %ymm13, %ymm6 + vpaddw %ymm7, %ymm8, %ymm7 + vpsubw %ymm8, %ymm12, %ymm12 + vpaddw %ymm10, %ymm9, %ymm8 + vpsubw %ymm9, %ymm11, %ymm9 + vpaddw %ymm5, %ymm1, %ymm5 + vpsubw %ymm1, %ymm6, %ymm6 + vpaddw %ymm3, %ymm2, %ymm13 + vpsubw %ymm2, %ymm4, %ymm2 + vmovdqu 408(%rsi), %ymm3 + vmovdqu 440(%rsi), %ymm4 + vperm2i128 $32, %ymm7, %ymm12, %ymm10 + vperm2i128 $49, %ymm7, %ymm12, %ymm11 + vperm2i128 $32, %ymm8, %ymm9, %ymm1 + vperm2i128 $49, %ymm8, %ymm9, %ymm12 + vperm2i128 $32, %ymm5, %ymm6, %ymm8 + vperm2i128 $49, %ymm5, %ymm6, %ymm5 + vperm2i128 $32, %ymm13, %ymm2, %ymm6 + vperm2i128 $49, %ymm13, %ymm2, %ymm13 + vpmullw %ymm8, %ymm3, %ymm7 + vpmulhw %ymm8, %ymm4, %ymm14 + vpmullw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm5, %ymm4, %ymm8 + vpmullw %ymm6, %ymm3, %ymm5 + vpmulhw %ymm6, %ymm4, %ymm2 + vpmullw %ymm13, %ymm3, %ymm6 + vpmulhw %ymm13, %ymm4, %ymm13 + vpmulhw %ymm0, %ymm7, %ymm3 + vpmulhw %ymm0, %ymm9, %ymm4 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm8, %ymm11, %ymm7 + vpaddw %ymm11, %ymm8, %ymm8 + vpsubw %ymm14, %ymm10, %ymm9 + vpaddw %ymm10, %ymm14, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 472(%rsi), %ymm1 + vmovdqu 504(%rsi), %ymm10 + vpunpcklqdq %ymm2, %ymm9, %ymm5 + vpunpckhqdq %ymm2, %ymm9, %ymm12 + vpunpcklqdq %ymm3, %ymm4, %ymm8 + vpunpckhqdq %ymm3, %ymm4, %ymm6 + vpunpcklqdq %ymm7, %ymm13, %ymm2 + vpunpckhqdq %ymm7, %ymm13, %ymm4 + vpunpcklqdq %ymm11, %ymm14, %ymm3 + vpunpckhqdq %ymm11, %ymm14, %ymm7 + vpmullw %ymm2, %ymm1, %ymm11 + vpmulhw %ymm2, %ymm10, %ymm13 + vpmullw %ymm4, %ymm1, %ymm14 + vpmulhw %ymm4, %ymm10, %ymm4 + vpmullw %ymm3, %ymm1, %ymm2 + vpmulhw %ymm3, %ymm10, %ymm9 + vpmullw %ymm7, %ymm1, %ymm3 + vpmulhw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm0, %ymm11, %ymm10 + vpmulhw %ymm0, %ymm14, %ymm1 + vpmulhw %ymm0, %ymm2, %ymm2 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm4, %ymm12, %ymm11 + vpaddw %ymm12, %ymm4, %ymm4 + vpsubw %ymm13, %ymm5, %ymm12 + vpaddw %ymm5, %ymm13, %ymm13 + vpsubw %ymm7, %ymm6, %ymm5 + vpaddw %ymm6, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpaddw %ymm12, %ymm10, %ymm9 + vpsubw %ymm10, %ymm13, %ymm12 + vpaddw %ymm11, %ymm1, %ymm10 + vpsubw %ymm1, %ymm4, %ymm4 + vpaddw %ymm7, %ymm2, %ymm7 + vpsubw %ymm2, %ymm8, %ymm2 + vpaddw %ymm5, %ymm3, %ymm13 + vpsubw %ymm3, %ymm6, %ymm6 + vmovdqu 536(%rsi), %ymm3 + vmovdqu 568(%rsi), %ymm5 + vmovsldup %ymm9, %ymm1 + vpblendd $-86, %ymm1, %ymm12, %ymm11 + vpsrlq $32, %ymm12, %ymm1 + vpblendd $-86, %ymm9, %ymm1, %ymm8 + vmovsldup %ymm10, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm1 + vpsrlq $32, %ymm4, %ymm4 + vpblendd $-86, %ymm10, %ymm4, %ymm12 + vmovsldup %ymm7, %ymm4 + vpblendd $-86, %ymm4, %ymm2, %ymm9 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm7, %ymm2, %ymm7 + vmovsldup %ymm13, %ymm2 + vpblendd $-86, %ymm2, %ymm6, %ymm2 + vpsrlq $32, %ymm6, %ymm4 + vpblendd $-86, %ymm13, %ymm4, %ymm13 + vpmullw %ymm9, %ymm3, %ymm4 + vpmulhw %ymm9, %ymm5, %ymm10 + vpmullw %ymm7, %ymm3, %ymm14 + vpmulhw %ymm7, %ymm5, %ymm9 + vpmullw %ymm2, %ymm3, %ymm6 + vpmulhw %ymm2, %ymm5, %ymm2 + vpmullw %ymm13, %ymm3, %ymm7 + vpmulhw %ymm13, %ymm5, %ymm13 + vpmulhw %ymm0, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm14, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm7, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm9 + vpaddw %ymm7, %ymm4, %ymm3 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm7 + vpsubw %ymm5, %ymm1, %ymm13 + vpaddw %ymm11, %ymm6, %ymm11 + vpsubw %ymm6, %ymm12, %ymm14 + vmovdqu 600(%rsi), %ymm5 + vmovdqu 632(%rsi), %ymm6 + vpslld $16, %ymm2, %ymm1 + vpblendw $-86, %ymm1, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm1 + vpblendw $-86, %ymm2, %ymm1, %ymm8 + vpslld $16, %ymm3, %ymm1 + vpblendw $-86, %ymm1, %ymm4, %ymm1 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm12 + vpslld $16, %ymm7, %ymm2 + vpblendw $-86, %ymm2, %ymm13, %ymm4 + vpsrld $16, %ymm13, %ymm2 + vpblendw $-86, %ymm7, %ymm2, %ymm7 + vpslld $16, %ymm11, %ymm2 + vpblendw $-86, %ymm2, %ymm14, %ymm2 + vpsrld $16, %ymm14, %ymm3 + vpblendw $-86, %ymm11, %ymm3, %ymm13 + vpmullw %ymm4, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm6, %ymm11 + vpmullw %ymm7, %ymm5, %ymm4 + vpmulhw %ymm7, %ymm6, %ymm9 + vpmullw %ymm2, %ymm5, %ymm7 + vpmulhw %ymm2, %ymm6, %ymm2 + vpmullw %ymm13, %ymm5, %ymm14 + vpmulhw %ymm13, %ymm6, %ymm13 + vpmulhw %ymm0, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm4, %ymm4 + vpmulhw %ymm0, %ymm7, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpsubw %ymm9, %ymm8, %ymm7 + vpaddw %ymm8, %ymm9, %ymm8 + vpsubw %ymm11, %ymm10, %ymm9 + vpaddw %ymm10, %ymm11, %ymm10 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpsubw %ymm2, %ymm1, %ymm13 + vpaddw %ymm1, %ymm2, %ymm1 + vpaddw %ymm9, %ymm3, %ymm2 + vpsubw %ymm3, %ymm10, %ymm3 + vpaddw %ymm7, %ymm4, %ymm7 + vpsubw %ymm4, %ymm8, %ymm4 + vpaddw %ymm13, %ymm5, %ymm8 + vpsubw %ymm5, %ymm1, %ymm1 + vpaddw %ymm11, %ymm6, %ymm5 + vpsubw %ymm6, %ymm12, %ymm10 + vmovdqu 664(%rsi), %ymm9 + vmovdqu 696(%rsi), %ymm13 + vmovdqu 728(%rsi), %ymm11 + vmovdqu 760(%rsi), %ymm6 + vpmullw %ymm1, %ymm9, %ymm14 + vpmulhw %ymm1, %ymm13, %ymm12 + vpmullw %ymm10, %ymm9, %ymm9 + vpmulhw %ymm10, %ymm13, %ymm13 + vpmullw %ymm8, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm6, %ymm1 + vpmullw %ymm5, %ymm11, %ymm11 + vpmulhw %ymm5, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm14, %ymm6 + vpmulhw %ymm0, %ymm9, %ymm8 + vpmulhw %ymm0, %ymm10, %ymm9 + vpmulhw %ymm0, %ymm11, %ymm10 + vpsubw %ymm13, %ymm4, %ymm11 + vpaddw %ymm4, %ymm13, %ymm4 + vpsubw %ymm12, %ymm3, %ymm13 + vpaddw %ymm3, %ymm12, %ymm3 + vpsubw %ymm5, %ymm7, %ymm12 + vpaddw %ymm7, %ymm5, %ymm5 + vpsubw %ymm1, %ymm2, %ymm7 + vpaddw %ymm2, %ymm1, %ymm1 + vpaddw %ymm13, %ymm6, %ymm2 + vpsubw %ymm6, %ymm3, %ymm3 + vpaddw %ymm11, %ymm8, %ymm6 + vpsubw %ymm8, %ymm4, %ymm4 + vpaddw %ymm7, %ymm9, %ymm7 + vpsubw %ymm9, %ymm1, %ymm8 + vpaddw %ymm12, %ymm10, %ymm1 + vpsubw %ymm10, %ymm5, %ymm5 + vmovdqu glob_data + 384(%rip), %ymm9 + vpmulhw %ymm9, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm9, %ymm4, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm9, %ymm8, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm8, %ymm8 + vpmulhw %ymm9, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm5 + vpmulhw %ymm9, %ymm2, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm9, %ymm6, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm6, %ymm6 + vpmulhw %ymm9, %ymm7, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm9, %ymm1, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm0 + vpsubw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm3, 256(%rcx) + vmovdqu %ymm4, 288(%rcx) + vmovdqu %ymm2, 320(%rcx) + vmovdqu %ymm6, 352(%rcx) + vmovdqu %ymm8, 384(%rcx) + vmovdqu %ymm5, 416(%rcx) + vmovdqu %ymm7, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_invntt$1: + leaq glob_data + 480(%rip), %rsi + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu (%rsi), %ymm12 + vmovdqu 64(%rsi), %ymm1 + vmovdqu 32(%rsi), %ymm2 + vmovdqu 96(%rsi), %ymm5 + vmovdqu (%rcx), %ymm3 + vmovdqu 32(%rcx), %ymm4 + vmovdqu 64(%rcx), %ymm15 + vmovdqu 96(%rcx), %ymm11 + vmovdqu 128(%rcx), %ymm7 + vmovdqu 160(%rcx), %ymm8 + vmovdqu 192(%rcx), %ymm13 + vmovdqu 224(%rcx), %ymm14 + vpsubw %ymm15, %ymm3, %ymm6 + vpsubw %ymm11, %ymm4, %ymm9 + vpsubw %ymm13, %ymm7, %ymm10 + vpaddw %ymm3, %ymm15, %ymm3 + vpaddw %ymm4, %ymm11, %ymm4 + vpmullw %ymm6, %ymm12, %ymm11 + vpaddw %ymm7, %ymm13, %ymm7 + vpmullw %ymm9, %ymm12, %ymm12 + vpsubw %ymm14, %ymm8, %ymm13 + vpaddw %ymm8, %ymm14, %ymm8 + vpmullw %ymm10, %ymm1, %ymm14 + vpmullw %ymm13, %ymm1, %ymm1 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm5, %ymm9 + vpmulhw %ymm13, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm10 + vpmulhw %ymm12, %ymm0, %ymm11 + vpmulhw %ymm14, %ymm0, %ymm12 + vpmulhw %ymm1, %ymm0, %ymm1 + vpsubw %ymm10, %ymm6, %ymm6 + vpsubw %ymm11, %ymm2, %ymm11 + vpsubw %ymm12, %ymm9, %ymm9 + vpsubw %ymm1, %ymm5, %ymm13 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu 128(%rsi), %ymm2 + vmovdqu 160(%rsi), %ymm5 + vpmulhw %ymm1, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm10 + vpmulhw %ymm1, %ymm4, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm12 + vpmulhw %ymm1, %ymm7, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm7, %ymm7 + vpmulhw %ymm1, %ymm8, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm8, %ymm8 + vpsubw %ymm7, %ymm10, %ymm15 + vpsubw %ymm8, %ymm12, %ymm3 + vpsubw %ymm9, %ymm6, %ymm4 + vpaddw %ymm10, %ymm7, %ymm7 + vpaddw %ymm12, %ymm8, %ymm8 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm6, %ymm9, %ymm9 + vpmullw %ymm3, %ymm2, %ymm6 + vpsubw %ymm13, %ymm11, %ymm12 + vpaddw %ymm11, %ymm13, %ymm11 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm12, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm12, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm6, %ymm0, %ymm12 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm6 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm12, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm6, %ymm5, %ymm5 + vpslld $16, %ymm8, %ymm6 + vpblendw $-86, %ymm6, %ymm7, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpblendw $-86, %ymm8, %ymm7, %ymm7 + vpslld $16, %ymm11, %ymm8 + vpblendw $-86, %ymm8, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm11, %ymm8, %ymm11 + vpslld $16, %ymm3, %ymm8 + vpblendw $-86, %ymm8, %ymm2, %ymm8 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm9 + vpslld $16, %ymm5, %ymm2 + vpblendw $-86, %ymm2, %ymm4, %ymm12 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm5, %ymm2, %ymm13 + vmovdqu 192(%rsi), %ymm2 + vmovdqu 224(%rsi), %ymm5 + vpsubw %ymm7, %ymm6, %ymm15 + vpsubw %ymm11, %ymm10, %ymm3 + vpsubw %ymm9, %ymm8, %ymm4 + vpaddw %ymm6, %ymm7, %ymm6 + vpaddw %ymm10, %ymm11, %ymm7 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm8, %ymm9, %ymm8 + vpmullw %ymm3, %ymm2, %ymm9 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm11, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm11, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm9, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm9 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm11, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm9, %ymm5, %ymm5 + vpmulhw %ymm1, %ymm6, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm6, %ymm6 + vmovsldup %ymm7, %ymm9 + vpblendd $-86, %ymm9, %ymm6, %ymm9 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm7, %ymm6, %ymm10 + vmovsldup %ymm12, %ymm6 + vpblendd $-86, %ymm6, %ymm8, %ymm11 + vpsrlq $32, %ymm8, %ymm6 + vpblendd $-86, %ymm12, %ymm6, %ymm14 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm2, %ymm12 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm13 + vmovsldup %ymm5, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm5, %ymm3, %ymm3 + vmovdqu 256(%rsi), %ymm4 + vmovdqu 288(%rsi), %ymm5 + vpsubw %ymm10, %ymm9, %ymm6 + vpsubw %ymm14, %ymm11, %ymm7 + vpsubw %ymm13, %ymm12, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm11, %ymm14, %ymm10 + vpmullw %ymm6, %ymm4, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm7, %ymm4, %ymm13 + vpsubw %ymm3, %ymm2, %ymm14 + vpaddw %ymm2, %ymm3, %ymm2 + vpmullw %ymm8, %ymm4, %ymm3 + vpmullw %ymm14, %ymm4, %ymm4 + vpmulhw %ymm6, %ymm5, %ymm6 + vpmulhw %ymm7, %ymm5, %ymm7 + vpmulhw %ymm8, %ymm5, %ymm8 + vpmulhw %ymm14, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm3, %ymm0, %ymm3 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm11, %ymm6, %ymm6 + vpsubw %ymm13, %ymm7, %ymm7 + vpsubw %ymm3, %ymm8, %ymm3 + vpsubw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm1, %ymm9, %ymm5 + vpsraw $10, %ymm5, %ymm5 + vpmullw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm9, %ymm8 + vpunpcklqdq %ymm10, %ymm8, %ymm5 + vpunpckhqdq %ymm10, %ymm8, %ymm8 + vpunpcklqdq %ymm2, %ymm12, %ymm9 + vpunpckhqdq %ymm2, %ymm12, %ymm2 + vpunpcklqdq %ymm7, %ymm6, %ymm10 + vpunpckhqdq %ymm7, %ymm6, %ymm6 + vpunpcklqdq %ymm4, %ymm3, %ymm7 + vpunpckhqdq %ymm4, %ymm3, %ymm3 + vmovdqu 320(%rsi), %ymm4 + vmovdqu 352(%rsi), %ymm11 + vpsubw %ymm8, %ymm5, %ymm12 + vpsubw %ymm2, %ymm9, %ymm13 + vpsubw %ymm6, %ymm10, %ymm14 + vpaddw %ymm5, %ymm8, %ymm5 + vpaddw %ymm9, %ymm2, %ymm2 + vpmullw %ymm12, %ymm4, %ymm8 + vpaddw %ymm10, %ymm6, %ymm6 + vpmullw %ymm13, %ymm4, %ymm9 + vpsubw %ymm3, %ymm7, %ymm10 + vpaddw %ymm7, %ymm3, %ymm3 + vpmullw %ymm14, %ymm4, %ymm7 + vpmullw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm8, %ymm12, %ymm8 + vpsubw %ymm9, %ymm13, %ymm9 + vpsubw %ymm7, %ymm14, %ymm7 + vpsubw %ymm4, %ymm10, %ymm4 + vpmulhw %ymm1, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm10 + vperm2i128 $32, %ymm2, %ymm10, %ymm5 + vperm2i128 $49, %ymm2, %ymm10, %ymm2 + vperm2i128 $32, %ymm3, %ymm6, %ymm10 + vperm2i128 $49, %ymm3, %ymm6, %ymm3 + vperm2i128 $32, %ymm9, %ymm8, %ymm6 + vperm2i128 $49, %ymm9, %ymm8, %ymm8 + vperm2i128 $32, %ymm4, %ymm7, %ymm9 + vperm2i128 $49, %ymm4, %ymm7, %ymm4 + vpbroadcastd 384(%rsi), %ymm7 + vpbroadcastd 388(%rsi), %ymm11 + vpsubw %ymm2, %ymm5, %ymm12 + vpsubw %ymm3, %ymm10, %ymm13 + vpsubw %ymm8, %ymm6, %ymm14 + vpaddw %ymm5, %ymm2, %ymm2 + vpaddw %ymm10, %ymm3, %ymm3 + vpmullw %ymm12, %ymm7, %ymm5 + vpaddw %ymm6, %ymm8, %ymm6 + vpmullw %ymm13, %ymm7, %ymm8 + vpsubw %ymm4, %ymm9, %ymm10 + vpaddw %ymm9, %ymm4, %ymm4 + vpmullw %ymm14, %ymm7, %ymm9 + vpmullw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm5, %ymm0, %ymm5 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpsubw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm13, %ymm8 + vpsubw %ymm9, %ymm14, %ymm9 + vpsubw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, (%rcx) + vmovdqu %ymm3, 32(%rcx) + vmovdqu %ymm6, 64(%rcx) + vmovdqu %ymm4, 96(%rcx) + vmovdqu %ymm5, 128(%rcx) + vmovdqu %ymm8, 160(%rcx) + vmovdqu %ymm9, 192(%rcx) + vmovdqu %ymm7, 224(%rcx) + vmovdqu 392(%rsi), %ymm12 + vmovdqu 456(%rsi), %ymm1 + vmovdqu 424(%rsi), %ymm2 + vmovdqu 488(%rsi), %ymm5 + vmovdqu 256(%rcx), %ymm3 + vmovdqu 288(%rcx), %ymm4 + vmovdqu 320(%rcx), %ymm15 + vmovdqu 352(%rcx), %ymm11 + vmovdqu 384(%rcx), %ymm7 + vmovdqu 416(%rcx), %ymm8 + vmovdqu 448(%rcx), %ymm13 + vmovdqu 480(%rcx), %ymm14 + vpsubw %ymm15, %ymm3, %ymm6 + vpsubw %ymm11, %ymm4, %ymm9 + vpsubw %ymm13, %ymm7, %ymm10 + vpaddw %ymm3, %ymm15, %ymm3 + vpaddw %ymm4, %ymm11, %ymm4 + vpmullw %ymm6, %ymm12, %ymm11 + vpaddw %ymm7, %ymm13, %ymm7 + vpmullw %ymm9, %ymm12, %ymm12 + vpsubw %ymm14, %ymm8, %ymm13 + vpaddw %ymm8, %ymm14, %ymm8 + vpmullw %ymm10, %ymm1, %ymm14 + vpmullw %ymm13, %ymm1, %ymm1 + vpmulhw %ymm6, %ymm2, %ymm6 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm5, %ymm9 + vpmulhw %ymm13, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm10 + vpmulhw %ymm12, %ymm0, %ymm11 + vpmulhw %ymm14, %ymm0, %ymm12 + vpmulhw %ymm1, %ymm0, %ymm1 + vpsubw %ymm10, %ymm6, %ymm6 + vpsubw %ymm11, %ymm2, %ymm11 + vpsubw %ymm12, %ymm9, %ymm9 + vpsubw %ymm1, %ymm5, %ymm13 + vmovdqu glob_data + 384(%rip), %ymm1 + vmovdqu 520(%rsi), %ymm2 + vmovdqu 552(%rsi), %ymm5 + vpmulhw %ymm1, %ymm3, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm3, %ymm10 + vpmulhw %ymm1, %ymm4, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm12 + vpmulhw %ymm1, %ymm7, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm7, %ymm7 + vpmulhw %ymm1, %ymm8, %ymm3 + vpsraw $10, %ymm3, %ymm3 + vpmullw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm8, %ymm8 + vpsubw %ymm7, %ymm10, %ymm15 + vpsubw %ymm8, %ymm12, %ymm3 + vpsubw %ymm9, %ymm6, %ymm4 + vpaddw %ymm10, %ymm7, %ymm7 + vpaddw %ymm12, %ymm8, %ymm8 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm6, %ymm9, %ymm9 + vpmullw %ymm3, %ymm2, %ymm6 + vpsubw %ymm13, %ymm11, %ymm12 + vpaddw %ymm11, %ymm13, %ymm11 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm12, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm12, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm6, %ymm0, %ymm12 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm6 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm12, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm6, %ymm5, %ymm5 + vpslld $16, %ymm8, %ymm6 + vpblendw $-86, %ymm6, %ymm7, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpblendw $-86, %ymm8, %ymm7, %ymm7 + vpslld $16, %ymm11, %ymm8 + vpblendw $-86, %ymm8, %ymm9, %ymm10 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm11, %ymm8, %ymm11 + vpslld $16, %ymm3, %ymm8 + vpblendw $-86, %ymm8, %ymm2, %ymm8 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm9 + vpslld $16, %ymm5, %ymm2 + vpblendw $-86, %ymm2, %ymm4, %ymm12 + vpsrld $16, %ymm4, %ymm2 + vpblendw $-86, %ymm5, %ymm2, %ymm13 + vmovdqu 584(%rsi), %ymm2 + vmovdqu 616(%rsi), %ymm5 + vpsubw %ymm7, %ymm6, %ymm15 + vpsubw %ymm11, %ymm10, %ymm3 + vpsubw %ymm9, %ymm8, %ymm4 + vpaddw %ymm6, %ymm7, %ymm6 + vpaddw %ymm10, %ymm11, %ymm7 + vpmullw %ymm15, %ymm2, %ymm10 + vpaddw %ymm8, %ymm9, %ymm8 + vpmullw %ymm3, %ymm2, %ymm9 + vpsubw %ymm13, %ymm12, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm4, %ymm2, %ymm13 + vpmullw %ymm11, %ymm2, %ymm14 + vpmulhw %ymm15, %ymm5, %ymm2 + vpmulhw %ymm3, %ymm5, %ymm3 + vpmulhw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm11, %ymm5, %ymm5 + vpmulhw %ymm10, %ymm0, %ymm10 + vpmulhw %ymm9, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm14, %ymm0, %ymm9 + vpsubw %ymm10, %ymm2, %ymm2 + vpsubw %ymm11, %ymm3, %ymm3 + vpsubw %ymm13, %ymm4, %ymm4 + vpsubw %ymm9, %ymm5, %ymm5 + vpmulhw %ymm1, %ymm6, %ymm9 + vpsraw $10, %ymm9, %ymm9 + vpmullw %ymm0, %ymm9, %ymm9 + vpsubw %ymm9, %ymm6, %ymm6 + vmovsldup %ymm7, %ymm9 + vpblendd $-86, %ymm9, %ymm6, %ymm9 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm7, %ymm6, %ymm10 + vmovsldup %ymm12, %ymm6 + vpblendd $-86, %ymm6, %ymm8, %ymm11 + vpsrlq $32, %ymm8, %ymm6 + vpblendd $-86, %ymm12, %ymm6, %ymm14 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm2, %ymm12 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm13 + vmovsldup %ymm5, %ymm2 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vpsrlq $32, %ymm4, %ymm3 + vpblendd $-86, %ymm5, %ymm3, %ymm3 + vmovdqu 648(%rsi), %ymm4 + vmovdqu 680(%rsi), %ymm5 + vpsubw %ymm10, %ymm9, %ymm6 + vpsubw %ymm14, %ymm11, %ymm7 + vpsubw %ymm13, %ymm12, %ymm8 + vpaddw %ymm9, %ymm10, %ymm9 + vpaddw %ymm11, %ymm14, %ymm10 + vpmullw %ymm6, %ymm4, %ymm11 + vpaddw %ymm12, %ymm13, %ymm12 + vpmullw %ymm7, %ymm4, %ymm13 + vpsubw %ymm3, %ymm2, %ymm14 + vpaddw %ymm2, %ymm3, %ymm2 + vpmullw %ymm8, %ymm4, %ymm3 + vpmullw %ymm14, %ymm4, %ymm4 + vpmulhw %ymm6, %ymm5, %ymm6 + vpmulhw %ymm7, %ymm5, %ymm7 + vpmulhw %ymm8, %ymm5, %ymm8 + vpmulhw %ymm14, %ymm5, %ymm5 + vpmulhw %ymm11, %ymm0, %ymm11 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm3, %ymm0, %ymm3 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm11, %ymm6, %ymm6 + vpsubw %ymm13, %ymm7, %ymm7 + vpsubw %ymm3, %ymm8, %ymm3 + vpsubw %ymm4, %ymm5, %ymm4 + vpmulhw %ymm1, %ymm9, %ymm5 + vpsraw $10, %ymm5, %ymm5 + vpmullw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm9, %ymm8 + vpunpcklqdq %ymm10, %ymm8, %ymm5 + vpunpckhqdq %ymm10, %ymm8, %ymm8 + vpunpcklqdq %ymm2, %ymm12, %ymm9 + vpunpckhqdq %ymm2, %ymm12, %ymm2 + vpunpcklqdq %ymm7, %ymm6, %ymm10 + vpunpckhqdq %ymm7, %ymm6, %ymm6 + vpunpcklqdq %ymm4, %ymm3, %ymm7 + vpunpckhqdq %ymm4, %ymm3, %ymm3 + vmovdqu 712(%rsi), %ymm4 + vmovdqu 744(%rsi), %ymm11 + vpsubw %ymm8, %ymm5, %ymm12 + vpsubw %ymm2, %ymm9, %ymm13 + vpsubw %ymm6, %ymm10, %ymm14 + vpaddw %ymm5, %ymm8, %ymm5 + vpaddw %ymm9, %ymm2, %ymm2 + vpmullw %ymm12, %ymm4, %ymm8 + vpaddw %ymm10, %ymm6, %ymm6 + vpmullw %ymm13, %ymm4, %ymm9 + vpsubw %ymm3, %ymm7, %ymm10 + vpaddw %ymm7, %ymm3, %ymm3 + vpmullw %ymm14, %ymm4, %ymm7 + vpmullw %ymm10, %ymm4, %ymm4 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpmulhw %ymm4, %ymm0, %ymm4 + vpsubw %ymm8, %ymm12, %ymm8 + vpsubw %ymm9, %ymm13, %ymm9 + vpsubw %ymm7, %ymm14, %ymm7 + vpsubw %ymm4, %ymm10, %ymm4 + vpmulhw %ymm1, %ymm5, %ymm10 + vpsraw $10, %ymm10, %ymm10 + vpmullw %ymm0, %ymm10, %ymm10 + vpsubw %ymm10, %ymm5, %ymm10 + vperm2i128 $32, %ymm2, %ymm10, %ymm5 + vperm2i128 $49, %ymm2, %ymm10, %ymm2 + vperm2i128 $32, %ymm3, %ymm6, %ymm10 + vperm2i128 $49, %ymm3, %ymm6, %ymm3 + vperm2i128 $32, %ymm9, %ymm8, %ymm6 + vperm2i128 $49, %ymm9, %ymm8, %ymm8 + vperm2i128 $32, %ymm4, %ymm7, %ymm9 + vperm2i128 $49, %ymm4, %ymm7, %ymm4 + vpbroadcastd 776(%rsi), %ymm7 + vpbroadcastd 780(%rsi), %ymm11 + vpsubw %ymm2, %ymm5, %ymm12 + vpsubw %ymm3, %ymm10, %ymm13 + vpsubw %ymm8, %ymm6, %ymm14 + vpaddw %ymm5, %ymm2, %ymm2 + vpaddw %ymm10, %ymm3, %ymm3 + vpmullw %ymm12, %ymm7, %ymm5 + vpaddw %ymm6, %ymm8, %ymm6 + vpmullw %ymm13, %ymm7, %ymm8 + vpsubw %ymm4, %ymm9, %ymm10 + vpaddw %ymm9, %ymm4, %ymm4 + vpmullw %ymm14, %ymm7, %ymm9 + vpmullw %ymm10, %ymm7, %ymm7 + vpmulhw %ymm12, %ymm11, %ymm12 + vpmulhw %ymm13, %ymm11, %ymm13 + vpmulhw %ymm14, %ymm11, %ymm14 + vpmulhw %ymm10, %ymm11, %ymm10 + vpmulhw %ymm5, %ymm0, %ymm5 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpmulhw %ymm7, %ymm0, %ymm7 + vpsubw %ymm5, %ymm12, %ymm5 + vpsubw %ymm8, %ymm13, %ymm8 + vpsubw %ymm9, %ymm14, %ymm9 + vpsubw %ymm7, %ymm10, %ymm7 + vpmulhw %ymm1, %ymm2, %ymm1 + vpsraw $10, %ymm1, %ymm1 + vpmullw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm2, %ymm10 + vmovdqu %ymm5, 384(%rcx) + vmovdqu %ymm8, 416(%rcx) + vmovdqu %ymm9, 448(%rcx) + vmovdqu %ymm7, 480(%rcx) + vpbroadcastd 784(%rsi), %ymm1 + vpbroadcastd 788(%rsi), %ymm2 + vmovdqu %ymm4, %ymm7 + vmovdqu %ymm3, %ymm4 + vmovdqu %ymm10, %ymm3 + vmovdqu (%rcx), %ymm9 + vmovdqu 32(%rcx), %ymm13 + vmovdqu 64(%rcx), %ymm5 + vmovdqu 96(%rcx), %ymm8 + vpsubw %ymm3, %ymm9, %ymm10 + vpsubw %ymm4, %ymm13, %ymm11 + vpsubw %ymm6, %ymm5, %ymm12 + vpaddw %ymm9, %ymm3, %ymm3 + vpaddw %ymm13, %ymm4, %ymm4 + vpmullw %ymm10, %ymm1, %ymm13 + vpaddw %ymm5, %ymm6, %ymm5 + vpmullw %ymm11, %ymm1, %ymm6 + vpsubw %ymm7, %ymm8, %ymm14 + vpaddw %ymm8, %ymm7, %ymm7 + vpmullw %ymm12, %ymm1, %ymm8 + vpmullw %ymm14, %ymm1, %ymm9 + vpmulhw %ymm10, %ymm2, %ymm10 + vpmulhw %ymm11, %ymm2, %ymm11 + vpmulhw %ymm12, %ymm2, %ymm12 + vpmulhw %ymm14, %ymm2, %ymm14 + vpmulhw %ymm13, %ymm0, %ymm13 + vpmulhw %ymm6, %ymm0, %ymm6 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm9, %ymm0, %ymm9 + vpsubw %ymm13, %ymm10, %ymm10 + vpsubw %ymm6, %ymm11, %ymm6 + vpsubw %ymm8, %ymm12, %ymm11 + vpsubw %ymm9, %ymm14, %ymm12 + vmovdqu glob_data + 320(%rip), %ymm8 + vmovdqu glob_data + 352(%rip), %ymm9 + vmovdqu %ymm10, 256(%rcx) + vmovdqu %ymm6, 288(%rcx) + vmovdqu %ymm11, 320(%rcx) + vmovdqu %ymm12, 352(%rcx) + vpmullw %ymm3, %ymm8, %ymm6 + vpmulhw %ymm3, %ymm9, %ymm3 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm3, %ymm3 + vpmullw %ymm4, %ymm8, %ymm6 + vpmulhw %ymm4, %ymm9, %ymm4 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vpmullw %ymm5, %ymm8, %ymm6 + vpmulhw %ymm5, %ymm9, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm5, %ymm5 + vpmullw %ymm7, %ymm8, %ymm6 + vpmulhw %ymm7, %ymm9, %ymm7 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm7, %ymm6 + vmovdqu %ymm3, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu %ymm5, 64(%rcx) + vmovdqu %ymm6, 96(%rcx) + vmovdqu 384(%rcx), %ymm4 + vmovdqu 416(%rcx), %ymm5 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm10 + vmovdqu 128(%rcx), %ymm6 + vmovdqu 160(%rcx), %ymm9 + vmovdqu 192(%rcx), %ymm8 + vmovdqu 224(%rcx), %ymm11 + vpsubw %ymm4, %ymm6, %ymm12 + vpsubw %ymm5, %ymm9, %ymm13 + vpsubw %ymm7, %ymm8, %ymm3 + vpaddw %ymm6, %ymm4, %ymm4 + vpaddw %ymm9, %ymm5, %ymm5 + vpmullw %ymm12, %ymm1, %ymm6 + vpaddw %ymm8, %ymm7, %ymm7 + vpmullw %ymm13, %ymm1, %ymm8 + vpsubw %ymm10, %ymm11, %ymm9 + vpaddw %ymm11, %ymm10, %ymm10 + vpmullw %ymm3, %ymm1, %ymm11 + vpmullw %ymm9, %ymm1, %ymm1 + vpmulhw %ymm12, %ymm2, %ymm12 + vpmulhw %ymm13, %ymm2, %ymm13 + vpmulhw %ymm3, %ymm2, %ymm3 + vpmulhw %ymm9, %ymm2, %ymm2 + vpmulhw %ymm6, %ymm0, %ymm6 + vpmulhw %ymm8, %ymm0, %ymm8 + vpmulhw %ymm11, %ymm0, %ymm9 + vpmulhw %ymm1, %ymm0, %ymm11 + vpsubw %ymm6, %ymm12, %ymm1 + vpsubw %ymm8, %ymm13, %ymm6 + vpsubw %ymm9, %ymm3, %ymm8 + vpsubw %ymm11, %ymm2, %ymm9 + vmovdqu glob_data + 320(%rip), %ymm2 + vmovdqu glob_data + 352(%rip), %ymm3 + vmovdqu %ymm1, 384(%rcx) + vmovdqu %ymm6, 416(%rcx) + vmovdqu %ymm8, 448(%rcx) + vmovdqu %ymm9, 480(%rcx) + vpmullw %ymm4, %ymm2, %ymm1 + vpmulhw %ymm4, %ymm3, %ymm4 + vpmulhw %ymm0, %ymm1, %ymm1 + vpsubw %ymm1, %ymm4, %ymm1 + vpmullw %ymm5, %ymm2, %ymm4 + vpmulhw %ymm5, %ymm3, %ymm5 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm5, %ymm4 + vpmullw %ymm7, %ymm2, %ymm5 + vpmulhw %ymm7, %ymm3, %ymm6 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm6, %ymm5 + vpmullw %ymm10, %ymm2, %ymm2 + vpmulhw %ymm10, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm0 + vpsubw %ymm0, %ymm3, %ymm0 + vmovdqu %ymm1, 128(%rcx) + vmovdqu %ymm4, 160(%rcx) + vmovdqu %ymm5, 192(%rcx) + vmovdqu %ymm0, 224(%rcx) + ret +L_poly_getnoise_eta1_4x$1: + movq %rax, 1472(%rsp) + vmovdqu (%r10), %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 352(%rsp) + vmovdqu %ymm0, 512(%rsp) + movb %cl, 64(%rsp) + incb %cl + movb %cl, 224(%rsp) + incb %cl + movb %cl, 384(%rsp) + incb %cl + movb %cl, 544(%rsp) + leaq 672(%rsp), %rax + leaq 32(%rsp), %rcx + leaq 192(%rsp), %rdx + leaq 352(%rsp), %rsi + leaq 512(%rsp), %r11 + call L_shake256_absorb4x_33$1 +L_poly_getnoise_eta1_4x$3: + leaq 672(%rsp), %rax + leaq 32(%rsp), %rcx + leaq 192(%rsp), %rdx + leaq 352(%rsp), %rsi + leaq 512(%rsp), %r11 + movq %rcx, %rbx + movq %rdx, %rbp + movq %rsi, %r12 + leaq -824(%rsp), %rsp + call L_keccakf1600_4x_avx2$1 +L_poly_getnoise_eta1_4x$2: + leaq 824(%rsp), %rsp + vmovdqu (%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, (%rbx) + vmovhpd %xmm1, (%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, (%r12) + vmovhpd %xmm0, (%r11) + vmovdqu 32(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 8(%rbx) + vmovhpd %xmm1, 8(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 8(%r12) + vmovhpd %xmm0, 8(%r11) + vmovdqu 64(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 16(%rbx) + vmovhpd %xmm1, 16(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 16(%r12) + vmovhpd %xmm0, 16(%r11) + vmovdqu 96(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 24(%rbx) + vmovhpd %xmm1, 24(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 24(%r12) + vmovhpd %xmm0, 24(%r11) + vmovdqu 128(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 32(%rbx) + vmovhpd %xmm1, 32(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 32(%r12) + vmovhpd %xmm0, 32(%r11) + vmovdqu 160(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 40(%rbx) + vmovhpd %xmm1, 40(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 40(%r12) + vmovhpd %xmm0, 40(%r11) + vmovdqu 192(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 48(%rbx) + vmovhpd %xmm1, 48(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 48(%r12) + vmovhpd %xmm0, 48(%r11) + vmovdqu 224(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 56(%rbx) + vmovhpd %xmm1, 56(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 56(%r12) + vmovhpd %xmm0, 56(%r11) + vmovdqu 256(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 64(%rbx) + vmovhpd %xmm1, 64(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 64(%r12) + vmovhpd %xmm0, 64(%r11) + vmovdqu 288(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 72(%rbx) + vmovhpd %xmm1, 72(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 72(%r12) + vmovhpd %xmm0, 72(%r11) + vmovdqu 320(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 80(%rbx) + vmovhpd %xmm1, 80(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 80(%r12) + vmovhpd %xmm0, 80(%r11) + vmovdqu 352(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 88(%rbx) + vmovhpd %xmm1, 88(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 88(%r12) + vmovhpd %xmm0, 88(%r11) + vmovdqu 384(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 96(%rbx) + vmovhpd %xmm1, 96(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 96(%r12) + vmovhpd %xmm0, 96(%r11) + vmovdqu 416(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 104(%rbx) + vmovhpd %xmm1, 104(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 104(%r12) + vmovhpd %xmm0, 104(%r11) + vmovdqu 448(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 112(%rbx) + vmovhpd %xmm1, 112(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 112(%r12) + vmovhpd %xmm0, 112(%r11) + vmovdqu 480(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 120(%rbx) + vmovhpd %xmm1, 120(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 120(%r12) + vmovhpd %xmm0, 120(%r11) + vmovdqu 512(%rax), %ymm0 + vmovdqu %xmm0, %xmm1 + vmovlpd %xmm1, 128(%rbx) + vmovhpd %xmm1, 128(%rbp) + vextracti128 $1, %ymm0, %xmm0 + vmovlpd %xmm0, 128(%r12) + vmovhpd %xmm0, 128(%r11) + movq 1472(%rsp), %rax + leaq 32(%rsp), %rcx + movl $1431655765, 1480(%rsp) + movl $858993459, 1484(%rsp) + movl $50529027, 1488(%rsp) + movl $252645135, 1492(%rsp) + vpbroadcastd 1480(%rsp), %ymm0 + vpbroadcastd 1484(%rsp), %ymm1 + vpbroadcastd 1488(%rsp), %ymm2 + vpbroadcastd 1492(%rsp), %ymm3 + vmovdqu (%rcx), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%rax) + vmovdqu %ymm7, 32(%rax) + vmovdqu %ymm6, 64(%rax) + vmovdqu %ymm4, 96(%rax) + vmovdqu 32(%rcx), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%rax) + vmovdqu %ymm7, 160(%rax) + vmovdqu %ymm6, 192(%rax) + vmovdqu %ymm4, 224(%rax) + vmovdqu 64(%rcx), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%rax) + vmovdqu %ymm7, 288(%rax) + vmovdqu %ymm6, 320(%rax) + vmovdqu %ymm4, 352(%rax) + vmovdqu 96(%rcx), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%rax) + vmovdqu %ymm3, 416(%rax) + vmovdqu %ymm2, 448(%rax) + vmovdqu %ymm0, 480(%rax) + leaq 192(%rsp), %rax + movl $1431655765, 1492(%rsp) + movl $858993459, 1488(%rsp) + movl $50529027, 1484(%rsp) + movl $252645135, 1480(%rsp) + vpbroadcastd 1492(%rsp), %ymm0 + vpbroadcastd 1488(%rsp), %ymm1 + vpbroadcastd 1484(%rsp), %ymm2 + vpbroadcastd 1480(%rsp), %ymm3 + vmovdqu (%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%rdi) + vmovdqu %ymm7, 32(%rdi) + vmovdqu %ymm6, 64(%rdi) + vmovdqu %ymm4, 96(%rdi) + vmovdqu 32(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%rdi) + vmovdqu %ymm7, 160(%rdi) + vmovdqu %ymm6, 192(%rdi) + vmovdqu %ymm4, 224(%rdi) + vmovdqu 64(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%rdi) + vmovdqu %ymm7, 288(%rdi) + vmovdqu %ymm6, 320(%rdi) + vmovdqu %ymm4, 352(%rdi) + vmovdqu 96(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%rdi) + vmovdqu %ymm3, 416(%rdi) + vmovdqu %ymm2, 448(%rdi) + vmovdqu %ymm0, 480(%rdi) + leaq 352(%rsp), %rax + movl $1431655765, 1480(%rsp) + movl $858993459, 1484(%rsp) + movl $50529027, 1488(%rsp) + movl $252645135, 1492(%rsp) + vpbroadcastd 1480(%rsp), %ymm0 + vpbroadcastd 1484(%rsp), %ymm1 + vpbroadcastd 1488(%rsp), %ymm2 + vpbroadcastd 1492(%rsp), %ymm3 + vmovdqu (%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%r8) + vmovdqu %ymm7, 32(%r8) + vmovdqu %ymm6, 64(%r8) + vmovdqu %ymm4, 96(%r8) + vmovdqu 32(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%r8) + vmovdqu %ymm7, 160(%r8) + vmovdqu %ymm6, 192(%r8) + vmovdqu %ymm4, 224(%r8) + vmovdqu 64(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%r8) + vmovdqu %ymm7, 288(%r8) + vmovdqu %ymm6, 320(%r8) + vmovdqu %ymm4, 352(%r8) + vmovdqu 96(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%r8) + vmovdqu %ymm3, 416(%r8) + vmovdqu %ymm2, 448(%r8) + vmovdqu %ymm0, 480(%r8) + leaq 512(%rsp), %rax + movl $1431655765, 1492(%rsp) + movl $858993459, 1488(%rsp) + movl $50529027, 1484(%rsp) + movl $252645135, 1480(%rsp) + vpbroadcastd 1492(%rsp), %ymm0 + vpbroadcastd 1488(%rsp), %ymm1 + vpbroadcastd 1484(%rsp), %ymm2 + vpbroadcastd 1480(%rsp), %ymm3 + vmovdqu (%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, (%r9) + vmovdqu %ymm7, 32(%r9) + vmovdqu %ymm6, 64(%r9) + vmovdqu %ymm4, 96(%r9) + vmovdqu 32(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 128(%r9) + vmovdqu %ymm7, 160(%r9) + vmovdqu %ymm6, 192(%r9) + vmovdqu %ymm4, 224(%r9) + vmovdqu 64(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm5 + vpaddb %ymm5, %ymm4, %ymm4 + vpsrlw $2, %ymm4, %ymm5 + vpand %ymm4, %ymm1, %ymm4 + vpand %ymm5, %ymm1, %ymm5 + vpaddb %ymm1, %ymm4, %ymm4 + vpsubb %ymm5, %ymm4, %ymm4 + vpsrlw $4, %ymm4, %ymm5 + vpand %ymm4, %ymm3, %ymm4 + vpand %ymm5, %ymm3, %ymm5 + vpsubb %ymm2, %ymm4, %ymm4 + vpsubb %ymm2, %ymm5, %ymm5 + vpunpcklbw %ymm5, %ymm4, %ymm6 + vpunpckhbw %ymm5, %ymm4, %ymm4 + vmovdqu %xmm6, %xmm5 + vpmovsxbw %xmm5, %ymm5 + vextracti128 $1, %ymm6, %xmm6 + vpmovsxbw %xmm6, %ymm6 + vmovdqu %xmm4, %xmm7 + vpmovsxbw %xmm7, %ymm7 + vextracti128 $1, %ymm4, %xmm4 + vpmovsxbw %xmm4, %ymm4 + vmovdqu %ymm5, 256(%r9) + vmovdqu %ymm7, 288(%r9) + vmovdqu %ymm6, 320(%r9) + vmovdqu %ymm4, 352(%r9) + vmovdqu 96(%rax), %ymm4 + vpsrlw $1, %ymm4, %ymm5 + vpand %ymm4, %ymm0, %ymm4 + vpand %ymm5, %ymm0, %ymm0 + vpaddb %ymm0, %ymm4, %ymm0 + vpsrlw $2, %ymm0, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpand %ymm4, %ymm1, %ymm4 + vpaddb %ymm1, %ymm0, %ymm0 + vpsubb %ymm4, %ymm0, %ymm0 + vpsrlw $4, %ymm0, %ymm1 + vpand %ymm0, %ymm3, %ymm0 + vpand %ymm1, %ymm3, %ymm1 + vpsubb %ymm2, %ymm0, %ymm0 + vpsubb %ymm2, %ymm1, %ymm1 + vpunpcklbw %ymm1, %ymm0, %ymm2 + vpunpckhbw %ymm1, %ymm0, %ymm0 + vmovdqu %xmm2, %xmm1 + vpmovsxbw %xmm1, %ymm1 + vextracti128 $1, %ymm2, %xmm2 + vpmovsxbw %xmm2, %ymm2 + vmovdqu %xmm0, %xmm3 + vpmovsxbw %xmm3, %ymm3 + vextracti128 $1, %ymm0, %xmm0 + vpmovsxbw %xmm0, %ymm0 + vmovdqu %ymm1, 384(%r9) + vmovdqu %ymm3, 416(%r9) + vmovdqu %ymm2, 448(%r9) + vmovdqu %ymm0, 480(%r9) + ret +L_poly_frommsg_1$1: + leaq glob_data + 256(%rip), %rsi + vmovdqu (%rsi), %ymm0 + vbroadcasti128 glob_data + 4112(%rip), %ymm1 + vbroadcasti128 glob_data + 4096(%rip), %ymm2 + vmovdqu (%rdi), %ymm3 + vpshufd $0, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm8, 32(%rax) + vmovdqu %ymm6, 256(%rax) + vmovdqu %ymm4, 288(%rax) + vpshufd $85, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, 64(%rax) + vmovdqu %ymm8, 96(%rax) + vmovdqu %ymm6, 320(%rax) + vmovdqu %ymm4, 352(%rax) + vpshufd $-86, %ymm3, %ymm4 + vpsllvd %ymm1, %ymm4, %ymm4 + vpshufb %ymm2, %ymm4, %ymm4 + vpsllw $12, %ymm4, %ymm5 + vpsllw $8, %ymm4, %ymm6 + vpsllw $4, %ymm4, %ymm7 + vpsraw $15, %ymm5, %ymm5 + vpsraw $15, %ymm6, %ymm6 + vpsraw $15, %ymm7, %ymm7 + vpsraw $15, %ymm4, %ymm4 + vpand %ymm0, %ymm5, %ymm5 + vpand %ymm0, %ymm6, %ymm6 + vpand %ymm0, %ymm7, %ymm7 + vpand %ymm0, %ymm4, %ymm4 + vpunpcklqdq %ymm6, %ymm5, %ymm8 + vpunpckhqdq %ymm6, %ymm5, %ymm5 + vpunpcklqdq %ymm4, %ymm7, %ymm6 + vpunpckhqdq %ymm4, %ymm7, %ymm4 + vperm2i128 $32, %ymm6, %ymm8, %ymm7 + vperm2i128 $49, %ymm6, %ymm8, %ymm6 + vperm2i128 $32, %ymm4, %ymm5, %ymm8 + vperm2i128 $49, %ymm4, %ymm5, %ymm4 + vmovdqu %ymm7, 128(%rax) + vmovdqu %ymm8, 160(%rax) + vmovdqu %ymm6, 384(%rax) + vmovdqu %ymm4, 416(%rax) + vpshufd $-1, %ymm3, %ymm3 + vpsllvd %ymm1, %ymm3, %ymm1 + vpshufb %ymm2, %ymm1, %ymm1 + vpsllw $12, %ymm1, %ymm2 + vpsllw $8, %ymm1, %ymm3 + vpsllw $4, %ymm1, %ymm4 + vpsraw $15, %ymm2, %ymm2 + vpsraw $15, %ymm3, %ymm3 + vpsraw $15, %ymm4, %ymm4 + vpsraw $15, %ymm1, %ymm1 + vpand %ymm0, %ymm2, %ymm2 + vpand %ymm0, %ymm3, %ymm3 + vpand %ymm0, %ymm4, %ymm4 + vpand %ymm0, %ymm1, %ymm0 + vpunpcklqdq %ymm3, %ymm2, %ymm1 + vpunpckhqdq %ymm3, %ymm2, %ymm2 + vpunpcklqdq %ymm0, %ymm4, %ymm3 + vpunpckhqdq %ymm0, %ymm4, %ymm0 + vperm2i128 $32, %ymm3, %ymm1, %ymm4 + vperm2i128 $49, %ymm3, %ymm1, %ymm1 + vperm2i128 $32, %ymm0, %ymm2, %ymm3 + vperm2i128 $49, %ymm0, %ymm2, %ymm0 + vmovdqu %ymm4, 192(%rax) + vmovdqu %ymm3, 224(%rax) + vmovdqu %ymm1, 448(%rax) + vmovdqu %ymm0, 480(%rax) + ret +L_poly_frommont$1: + leaq glob_data + 448(%rip), %rcx + vmovdqu (%rcx), %ymm0 + leaq glob_data + 416(%rip), %rcx + vmovdqu (%rcx), %ymm1 + leaq glob_data + 160(%rip), %rcx + vmovdqu (%rcx), %ymm2 + vmovdqu (%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, (%rax) + vmovdqu 32(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 32(%rax) + vmovdqu 64(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 64(%rax) + vmovdqu 96(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 96(%rax) + vmovdqu 128(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 128(%rax) + vmovdqu 160(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 160(%rax) + vmovdqu 192(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 192(%rax) + vmovdqu 224(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 224(%rax) + vmovdqu 256(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 256(%rax) + vmovdqu 288(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 288(%rax) + vmovdqu 320(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 320(%rax) + vmovdqu 352(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 352(%rax) + vmovdqu 384(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 384(%rax) + vmovdqu 416(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 416(%rax) + vmovdqu 448(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm3 + vpmullw %ymm1, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm4, %ymm3 + vmovdqu %ymm3, 448(%rax) + vmovdqu 480(%rax), %ymm3 + vpmulhw %ymm2, %ymm3, %ymm4 + vpmullw %ymm2, %ymm3, %ymm2 + vpmullw %ymm1, %ymm2, %ymm1 + vpmulhw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 480(%rax) + ret +L_poly_frombytes$1: + leaq glob_data + 288(%rip), %r9 + vmovdqu (%r9), %ymm0 + vmovdqu (%rsi), %ymm1 + vmovdqu 32(%rsi), %ymm2 + vmovdqu 64(%rsi), %ymm3 + vmovdqu 96(%rsi), %ymm4 + vmovdqu 128(%rsi), %ymm5 + vmovdqu 160(%rsi), %ymm6 + vperm2i128 $32, %ymm4, %ymm1, %ymm7 + vperm2i128 $49, %ymm4, %ymm1, %ymm4 + vperm2i128 $32, %ymm5, %ymm2, %ymm8 + vperm2i128 $49, %ymm5, %ymm2, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm5 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vpunpcklqdq %ymm1, %ymm7, %ymm6 + vpunpckhqdq %ymm1, %ymm7, %ymm1 + vpunpcklqdq %ymm5, %ymm4, %ymm2 + vpunpckhqdq %ymm5, %ymm4, %ymm5 + vpunpcklqdq %ymm3, %ymm8, %ymm7 + vpunpckhqdq %ymm3, %ymm8, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm7, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vmovsldup %ymm3, %ymm1 + vpblendd $-86, %ymm1, %ymm2, %ymm1 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm2 + vpslld $16, %ymm7, %ymm3 + vpblendw $-86, %ymm3, %ymm4, %ymm3 + vpsrld $16, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm4, %ymm4 + vpslld $16, %ymm1, %ymm7 + vpblendw $-86, %ymm7, %ymm5, %ymm7 + vpsrld $16, %ymm5, %ymm5 + vpblendw $-86, %ymm1, %ymm5, %ymm1 + vpslld $16, %ymm2, %ymm5 + vpblendw $-86, %ymm5, %ymm6, %ymm5 + vpsrld $16, %ymm6, %ymm6 + vpblendw $-86, %ymm2, %ymm6, %ymm2 + vpsrlw $12, %ymm3, %ymm6 + vpsllw $4, %ymm4, %ymm8 + vpor %ymm8, %ymm6, %ymm6 + vpand %ymm3, %ymm0, %ymm3 + vpand %ymm6, %ymm0, %ymm6 + vpsrlw $8, %ymm4, %ymm4 + vpsllw $8, %ymm7, %ymm8 + vpor %ymm8, %ymm4, %ymm4 + vpand %ymm4, %ymm0, %ymm4 + vpsrlw $4, %ymm7, %ymm7 + vpand %ymm7, %ymm0, %ymm7 + vpsrlw $12, %ymm1, %ymm8 + vpsllw $4, %ymm5, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpand %ymm1, %ymm0, %ymm1 + vpand %ymm8, %ymm0, %ymm8 + vpsrlw $8, %ymm5, %ymm5 + vpsllw $8, %ymm2, %ymm9 + vpor %ymm9, %ymm5, %ymm5 + vpand %ymm5, %ymm0, %ymm5 + vpsrlw $4, %ymm2, %ymm2 + vpand %ymm2, %ymm0, %ymm2 + vmovdqu %ymm3, (%r8) + vmovdqu %ymm6, 32(%r8) + vmovdqu %ymm4, 64(%r8) + vmovdqu %ymm7, 96(%r8) + vmovdqu %ymm1, 128(%r8) + vmovdqu %ymm8, 160(%r8) + vmovdqu %ymm5, 192(%r8) + vmovdqu %ymm2, 224(%r8) + vmovdqu 192(%rsi), %ymm1 + vmovdqu 224(%rsi), %ymm2 + vmovdqu 256(%rsi), %ymm3 + vmovdqu 288(%rsi), %ymm4 + vmovdqu 320(%rsi), %ymm5 + vmovdqu 352(%rsi), %ymm6 + vperm2i128 $32, %ymm4, %ymm1, %ymm7 + vperm2i128 $49, %ymm4, %ymm1, %ymm4 + vperm2i128 $32, %ymm5, %ymm2, %ymm8 + vperm2i128 $49, %ymm5, %ymm2, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm5 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vpunpcklqdq %ymm1, %ymm7, %ymm6 + vpunpckhqdq %ymm1, %ymm7, %ymm1 + vpunpcklqdq %ymm5, %ymm4, %ymm2 + vpunpckhqdq %ymm5, %ymm4, %ymm5 + vpunpcklqdq %ymm3, %ymm8, %ymm7 + vpunpckhqdq %ymm3, %ymm8, %ymm3 + vmovsldup %ymm5, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm6 + vpblendd $-86, %ymm5, %ymm6, %ymm5 + vmovsldup %ymm7, %ymm6 + vpblendd $-86, %ymm6, %ymm1, %ymm6 + vpsrlq $32, %ymm1, %ymm1 + vpblendd $-86, %ymm7, %ymm1, %ymm7 + vmovsldup %ymm3, %ymm1 + vpblendd $-86, %ymm1, %ymm2, %ymm1 + vpsrlq $32, %ymm2, %ymm2 + vpblendd $-86, %ymm3, %ymm2, %ymm2 + vpslld $16, %ymm7, %ymm3 + vpblendw $-86, %ymm3, %ymm4, %ymm3 + vpsrld $16, %ymm4, %ymm4 + vpblendw $-86, %ymm7, %ymm4, %ymm4 + vpslld $16, %ymm1, %ymm7 + vpblendw $-86, %ymm7, %ymm5, %ymm7 + vpsrld $16, %ymm5, %ymm5 + vpblendw $-86, %ymm1, %ymm5, %ymm1 + vpslld $16, %ymm2, %ymm5 + vpblendw $-86, %ymm5, %ymm6, %ymm5 + vpsrld $16, %ymm6, %ymm6 + vpblendw $-86, %ymm2, %ymm6, %ymm2 + vpsrlw $12, %ymm3, %ymm6 + vpsllw $4, %ymm4, %ymm8 + vpor %ymm8, %ymm6, %ymm6 + vpand %ymm3, %ymm0, %ymm3 + vpand %ymm6, %ymm0, %ymm6 + vpsrlw $8, %ymm4, %ymm4 + vpsllw $8, %ymm7, %ymm8 + vpor %ymm8, %ymm4, %ymm4 + vpand %ymm4, %ymm0, %ymm4 + vpsrlw $4, %ymm7, %ymm7 + vpand %ymm7, %ymm0, %ymm7 + vpsrlw $12, %ymm1, %ymm8 + vpsllw $4, %ymm5, %ymm9 + vpor %ymm9, %ymm8, %ymm8 + vpand %ymm1, %ymm0, %ymm1 + vpand %ymm8, %ymm0, %ymm8 + vpsrlw $8, %ymm5, %ymm5 + vpsllw $8, %ymm2, %ymm9 + vpor %ymm9, %ymm5, %ymm5 + vpand %ymm5, %ymm0, %ymm5 + vpsrlw $4, %ymm2, %ymm2 + vpand %ymm2, %ymm0, %ymm0 + vmovdqu %ymm3, 256(%r8) + vmovdqu %ymm6, 288(%r8) + vmovdqu %ymm4, 320(%r8) + vmovdqu %ymm7, 352(%r8) + vmovdqu %ymm1, 384(%r8) + vmovdqu %ymm8, 416(%r8) + vmovdqu %ymm5, 448(%r8) + vmovdqu %ymm0, 480(%r8) + ret +L_poly_decompress$1: + leaq glob_data + 448(%rip), %rdi + vmovdqu (%rdi), %ymm0 + leaq glob_data + 96(%rip), %rdi + vmovdqu (%rdi), %ymm1 + vpbroadcastd glob_data + 6412(%rip), %ymm2 + vpbroadcastd glob_data + 6408(%rip), %ymm3 + vpxor %ymm4, %ymm4, %ymm4 + movq (%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, (%rcx) + movq 8(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 32(%rcx) + movq 16(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 64(%rcx) + movq 24(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 96(%rcx) + movq 32(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 128(%rcx) + movq 40(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 160(%rcx) + movq 48(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 192(%rcx) + movq 56(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 224(%rcx) + movq 64(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 256(%rcx) + movq 72(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 288(%rcx) + movq 80(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 320(%rcx) + movq 88(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 352(%rcx) + movq 96(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 384(%rcx) + movq 104(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 416(%rcx) + movq 112(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm4 + vpand %ymm2, %ymm4, %ymm4 + vpmullw %ymm3, %ymm4, %ymm4 + vpmulhrsw %ymm0, %ymm4, %ymm4 + vmovdqu %ymm4, 448(%rcx) + movq 120(%rsi), %xmm4 + vmovdqu %xmm4, 16(%rsp) + vbroadcasti128 16(%rsp), %ymm4 + vpshufb %ymm1, %ymm4, %ymm1 + vpand %ymm2, %ymm1, %ymm1 + vpmullw %ymm3, %ymm1, %ymm1 + vpmulhrsw %ymm0, %ymm1, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_compress_1$1: + call L_poly_csubq$1 +L_poly_compress_1$2: + leaq glob_data + 384(%rip), %rdx + vmovdqu (%rdx), %ymm0 + vpbroadcastw glob_data + 6428(%rip), %ymm1 + vpbroadcastw glob_data + 6426(%rip), %ymm2 + vpbroadcastw glob_data + 6424(%rip), %ymm3 + vmovdqu glob_data + 128(%rip), %ymm4 + vmovdqu (%rcx), %ymm5 + vmovdqu 32(%rcx), %ymm6 + vmovdqu 64(%rcx), %ymm7 + vmovdqu 96(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, (%rax) + vmovdqu 128(%rcx), %ymm5 + vmovdqu 160(%rcx), %ymm6 + vmovdqu 192(%rcx), %ymm7 + vmovdqu 224(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 32(%rax) + vmovdqu 256(%rcx), %ymm5 + vmovdqu 288(%rcx), %ymm6 + vmovdqu 320(%rcx), %ymm7 + vmovdqu 352(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 64(%rax) + vmovdqu 384(%rcx), %ymm5 + vmovdqu 416(%rcx), %ymm6 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm0 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm0, %ymm0 + vpand %ymm2, %ymm5, %ymm1 + vpand %ymm2, %ymm6, %ymm5 + vpand %ymm2, %ymm7, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpackuswb %ymm5, %ymm1, %ymm1 + vpackuswb %ymm0, %ymm6, %ymm0 + vpmaddubsw %ymm3, %ymm1, %ymm1 + vpmaddubsw %ymm3, %ymm0, %ymm0 + vpackuswb %ymm0, %ymm1, %ymm0 + vpermd %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 96(%rax) + ret +L_poly_compress$1: + call L_poly_csubq$1 +L_poly_compress$2: + leaq glob_data + 384(%rip), %rdx + vmovdqu (%rdx), %ymm0 + vpbroadcastw glob_data + 6428(%rip), %ymm1 + vpbroadcastw glob_data + 6426(%rip), %ymm2 + vpbroadcastw glob_data + 6424(%rip), %ymm3 + vmovdqu glob_data + 128(%rip), %ymm4 + vmovdqu (%rcx), %ymm5 + vmovdqu 32(%rcx), %ymm6 + vmovdqu 64(%rcx), %ymm7 + vmovdqu 96(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, (%rax) + vmovdqu 128(%rcx), %ymm5 + vmovdqu 160(%rcx), %ymm6 + vmovdqu 192(%rcx), %ymm7 + vmovdqu 224(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 32(%rax) + vmovdqu 256(%rcx), %ymm5 + vmovdqu 288(%rcx), %ymm6 + vmovdqu 320(%rcx), %ymm7 + vmovdqu 352(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm8 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm8, %ymm8 + vpand %ymm2, %ymm5, %ymm5 + vpand %ymm2, %ymm6, %ymm6 + vpand %ymm2, %ymm7, %ymm7 + vpand %ymm2, %ymm8, %ymm8 + vpackuswb %ymm6, %ymm5, %ymm5 + vpackuswb %ymm8, %ymm7, %ymm6 + vpmaddubsw %ymm3, %ymm5, %ymm5 + vpmaddubsw %ymm3, %ymm6, %ymm6 + vpackuswb %ymm6, %ymm5, %ymm5 + vpermd %ymm5, %ymm4, %ymm5 + vmovdqu %ymm5, 64(%rax) + vmovdqu 384(%rcx), %ymm5 + vmovdqu 416(%rcx), %ymm6 + vmovdqu 448(%rcx), %ymm7 + vmovdqu 480(%rcx), %ymm8 + vpmulhw %ymm0, %ymm5, %ymm5 + vpmulhw %ymm0, %ymm6, %ymm6 + vpmulhw %ymm0, %ymm7, %ymm7 + vpmulhw %ymm0, %ymm8, %ymm0 + vpmulhrsw %ymm1, %ymm5, %ymm5 + vpmulhrsw %ymm1, %ymm6, %ymm6 + vpmulhrsw %ymm1, %ymm7, %ymm7 + vpmulhrsw %ymm1, %ymm0, %ymm0 + vpand %ymm2, %ymm5, %ymm1 + vpand %ymm2, %ymm6, %ymm5 + vpand %ymm2, %ymm7, %ymm6 + vpand %ymm2, %ymm0, %ymm0 + vpackuswb %ymm5, %ymm1, %ymm1 + vpackuswb %ymm0, %ymm6, %ymm0 + vpmaddubsw %ymm3, %ymm1, %ymm1 + vpmaddubsw %ymm3, %ymm0, %ymm0 + vpackuswb %ymm0, %ymm1, %ymm0 + vpermd %ymm0, %ymm4, %ymm0 + vmovdqu %ymm0, 96(%rax) + ret +L_poly_basemul$1: + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu glob_data + 416(%rip), %ymm1 + vmovdqu glob_data + 1552(%rip), %ymm2 + vmovdqu glob_data + 1584(%rip), %ymm3 + vmovdqu (%rsi), %ymm4 + vmovdqu 32(%rsi), %ymm5 + vmovdqu (%rdi), %ymm6 + vmovdqu 32(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, (%rcx) + vmovdqu %ymm4, 32(%rcx) + vmovdqu 64(%rsi), %ymm4 + vmovdqu 96(%rsi), %ymm5 + vmovdqu 64(%rdi), %ymm6 + vmovdqu 96(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 64(%rcx) + vmovdqu %ymm2, 96(%rcx) + vmovdqu glob_data + 1616(%rip), %ymm2 + vmovdqu glob_data + 1648(%rip), %ymm3 + vmovdqu 128(%rsi), %ymm4 + vmovdqu 160(%rsi), %ymm5 + vmovdqu 128(%rdi), %ymm6 + vmovdqu 160(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 128(%rcx) + vmovdqu %ymm4, 160(%rcx) + vmovdqu 192(%rsi), %ymm4 + vmovdqu 224(%rsi), %ymm5 + vmovdqu 192(%rdi), %ymm6 + vmovdqu 224(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 192(%rcx) + vmovdqu %ymm2, 224(%rcx) + vmovdqu glob_data + 1944(%rip), %ymm2 + vmovdqu glob_data + 1976(%rip), %ymm3 + vmovdqu 256(%rsi), %ymm4 + vmovdqu 288(%rsi), %ymm5 + vmovdqu 256(%rdi), %ymm6 + vmovdqu 288(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 256(%rcx) + vmovdqu %ymm4, 288(%rcx) + vmovdqu 320(%rsi), %ymm4 + vmovdqu 352(%rsi), %ymm5 + vmovdqu 320(%rdi), %ymm6 + vmovdqu 352(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm4 + vpmulhw %ymm0, %ymm4, %ymm4 + vpsubw %ymm4, %ymm2, %ymm2 + vmovdqu %ymm3, 320(%rcx) + vmovdqu %ymm2, 352(%rcx) + vmovdqu glob_data + 2008(%rip), %ymm2 + vmovdqu glob_data + 2040(%rip), %ymm3 + vmovdqu 384(%rsi), %ymm4 + vmovdqu 416(%rsi), %ymm5 + vmovdqu 384(%rdi), %ymm6 + vmovdqu 416(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm8 + vpmulhw %ymm5, %ymm3, %ymm9 + vpmulhw %ymm0, %ymm8, %ymm8 + vpsubw %ymm8, %ymm9, %ymm8 + vpmullw %ymm6, %ymm4, %ymm10 + vpmulhw %ymm6, %ymm4, %ymm11 + vpunpcklwd %ymm11, %ymm10, %ymm9 + vpunpckhwd %ymm11, %ymm10, %ymm10 + vpmullw %ymm7, %ymm4, %ymm12 + vpmulhw %ymm7, %ymm4, %ymm4 + vpunpcklwd %ymm4, %ymm12, %ymm11 + vpunpckhwd %ymm4, %ymm12, %ymm4 + vpmullw %ymm6, %ymm5, %ymm12 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm12, %ymm5 + vpunpckhwd %ymm6, %ymm12, %ymm6 + vpmullw %ymm7, %ymm8, %ymm12 + vpmulhw %ymm7, %ymm8, %ymm7 + vpunpcklwd %ymm7, %ymm12, %ymm8 + vpunpckhwd %ymm7, %ymm12, %ymm12 + vpaddd %ymm8, %ymm9, %ymm7 + vpaddd %ymm12, %ymm10, %ymm8 + vpaddd %ymm11, %ymm5, %ymm5 + vpaddd %ymm4, %ymm6, %ymm4 + vpxor %ymm9, %ymm9, %ymm9 + vpblendw $-86, %ymm9, %ymm7, %ymm6 + vpblendw $-86, %ymm9, %ymm8, %ymm10 + vpackusdw %ymm10, %ymm6, %ymm6 + vpsrld $16, %ymm7, %ymm7 + vpsrld $16, %ymm8, %ymm8 + vpackusdw %ymm8, %ymm7, %ymm7 + vpblendw $-86, %ymm9, %ymm5, %ymm8 + vpblendw $-86, %ymm9, %ymm4, %ymm9 + vpackusdw %ymm9, %ymm8, %ymm8 + vpsrld $16, %ymm5, %ymm5 + vpsrld $16, %ymm4, %ymm4 + vpackusdw %ymm4, %ymm5, %ymm4 + vpmullw %ymm1, %ymm6, %ymm5 + vpmulhw %ymm0, %ymm5, %ymm5 + vpsubw %ymm5, %ymm7, %ymm5 + vpmullw %ymm1, %ymm8, %ymm6 + vpmulhw %ymm0, %ymm6, %ymm6 + vpsubw %ymm6, %ymm4, %ymm4 + vmovdqu %ymm5, 384(%rcx) + vmovdqu %ymm4, 416(%rcx) + vmovdqu 448(%rsi), %ymm4 + vmovdqu 480(%rsi), %ymm5 + vmovdqu 448(%rdi), %ymm6 + vmovdqu 480(%rdi), %ymm7 + vpmullw %ymm5, %ymm2, %ymm2 + vpmulhw %ymm5, %ymm3, %ymm3 + vpmulhw %ymm0, %ymm2, %ymm2 + vpsubw %ymm2, %ymm3, %ymm2 + vpmullw %ymm6, %ymm4, %ymm8 + vpmulhw %ymm6, %ymm4, %ymm9 + vpunpcklwd %ymm9, %ymm8, %ymm3 + vpunpckhwd %ymm9, %ymm8, %ymm8 + vpmullw %ymm7, %ymm4, %ymm9 + vpmulhw %ymm7, %ymm4, %ymm10 + vpunpcklwd %ymm10, %ymm9, %ymm4 + vpunpckhwd %ymm10, %ymm9, %ymm9 + vpmullw %ymm6, %ymm5, %ymm10 + vpmulhw %ymm6, %ymm5, %ymm6 + vpunpcklwd %ymm6, %ymm10, %ymm5 + vpunpckhwd %ymm6, %ymm10, %ymm6 + vpmullw %ymm7, %ymm2, %ymm10 + vpmulhw %ymm7, %ymm2, %ymm2 + vpunpcklwd %ymm2, %ymm10, %ymm7 + vpunpckhwd %ymm2, %ymm10, %ymm2 + vpsubd %ymm7, %ymm3, %ymm7 + vpsubd %ymm2, %ymm8, %ymm8 + vpaddd %ymm4, %ymm5, %ymm2 + vpaddd %ymm9, %ymm6, %ymm3 + vpxor %ymm5, %ymm5, %ymm5 + vpblendw $-86, %ymm5, %ymm7, %ymm4 + vpblendw $-86, %ymm5, %ymm8, %ymm6 + vpackusdw %ymm6, %ymm4, %ymm4 + vpsrld $16, %ymm7, %ymm6 + vpsrld $16, %ymm8, %ymm7 + vpackusdw %ymm7, %ymm6, %ymm6 + vpblendw $-86, %ymm5, %ymm2, %ymm7 + vpblendw $-86, %ymm5, %ymm3, %ymm5 + vpackusdw %ymm5, %ymm7, %ymm5 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm3, %ymm3 + vpackusdw %ymm3, %ymm2, %ymm2 + vpmullw %ymm1, %ymm4, %ymm3 + vpmulhw %ymm0, %ymm3, %ymm3 + vpsubw %ymm3, %ymm6, %ymm3 + vpmullw %ymm1, %ymm5, %ymm1 + vpmulhw %ymm0, %ymm1, %ymm0 + vpsubw %ymm0, %ymm2, %ymm0 + vmovdqu %ymm3, 448(%rcx) + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_csubq$1: + vmovdqu glob_data + 448(%rip), %ymm0 + vmovdqu (%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, (%rcx) + vmovdqu 32(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 32(%rcx) + vmovdqu 64(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 64(%rcx) + vmovdqu 96(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 96(%rcx) + vmovdqu 128(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 128(%rcx) + vmovdqu 160(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 160(%rcx) + vmovdqu 192(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 192(%rcx) + vmovdqu 224(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 224(%rcx) + vmovdqu 256(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 256(%rcx) + vmovdqu 288(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 288(%rcx) + vmovdqu 320(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 320(%rcx) + vmovdqu 352(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 352(%rcx) + vmovdqu 384(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 384(%rcx) + vmovdqu 416(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 416(%rcx) + vmovdqu 448(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm2 + vpaddw %ymm1, %ymm2, %ymm1 + vmovdqu %ymm1, 448(%rcx) + vmovdqu 480(%rcx), %ymm1 + vpsubw %ymm0, %ymm1, %ymm1 + vpsraw $15, %ymm1, %ymm2 + vpand %ymm0, %ymm2, %ymm0 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_poly_add2$1: + vmovdqu (%rcx), %ymm0 + vmovdqu (%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, (%rcx) + vmovdqu 32(%rcx), %ymm0 + vmovdqu 32(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rcx) + vmovdqu 64(%rcx), %ymm0 + vmovdqu 64(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rcx) + vmovdqu 96(%rcx), %ymm0 + vmovdqu 96(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rcx) + vmovdqu 128(%rcx), %ymm0 + vmovdqu 128(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rcx) + vmovdqu 160(%rcx), %ymm0 + vmovdqu 160(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rcx) + vmovdqu 192(%rcx), %ymm0 + vmovdqu 192(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rcx) + vmovdqu 224(%rcx), %ymm0 + vmovdqu 224(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rcx) + vmovdqu 256(%rcx), %ymm0 + vmovdqu 256(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rcx) + vmovdqu 288(%rcx), %ymm0 + vmovdqu 288(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rcx) + vmovdqu 320(%rcx), %ymm0 + vmovdqu 320(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rcx) + vmovdqu 352(%rcx), %ymm0 + vmovdqu 352(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rcx) + vmovdqu 384(%rcx), %ymm0 + vmovdqu 384(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rcx) + vmovdqu 416(%rcx), %ymm0 + vmovdqu 416(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rcx) + vmovdqu 448(%rcx), %ymm0 + vmovdqu 448(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rcx) + vmovdqu 480(%rcx), %ymm0 + vmovdqu 480(%rsi), %ymm1 + vpaddw %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rcx) + ret +L_nttunpack$1: + vmovdqu (%rax), %ymm1 + vmovdqu 32(%rax), %ymm3 + vmovdqu 64(%rax), %ymm4 + vmovdqu 96(%rax), %ymm5 + vmovdqu 128(%rax), %ymm2 + vmovdqu 160(%rax), %ymm6 + vmovdqu 192(%rax), %ymm7 + vmovdqu 224(%rax), %ymm8 + vperm2i128 $32, %ymm2, %ymm1, %ymm0 + vperm2i128 $49, %ymm2, %ymm1, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm2 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vperm2i128 $32, %ymm7, %ymm4, %ymm6 + vperm2i128 $49, %ymm7, %ymm4, %ymm7 + vperm2i128 $32, %ymm8, %ymm5, %ymm9 + vperm2i128 $49, %ymm8, %ymm5, %ymm10 + vpunpcklqdq %ymm6, %ymm0, %ymm4 + vpunpckhqdq %ymm6, %ymm0, %ymm5 + vpunpcklqdq %ymm7, %ymm1, %ymm6 + vpunpckhqdq %ymm7, %ymm1, %ymm7 + vpunpcklqdq %ymm9, %ymm2, %ymm0 + vpunpckhqdq %ymm9, %ymm2, %ymm2 + vpunpcklqdq %ymm10, %ymm3, %ymm8 + vpunpckhqdq %ymm10, %ymm3, %ymm3 + vmovsldup %ymm0, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm9 + vpsrlq $32, %ymm4, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vmovsldup %ymm2, %ymm1 + vpblendd $-86, %ymm1, %ymm5, %ymm1 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vmovsldup %ymm8, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm5 + vpblendd $-86, %ymm8, %ymm5, %ymm5 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vpsrlq $32, %ymm7, %ymm7 + vpblendd $-86, %ymm3, %ymm7, %ymm3 + vpslld $16, %ymm4, %ymm7 + vpblendw $-86, %ymm7, %ymm9, %ymm7 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm4, %ymm8, %ymm4 + vpslld $16, %ymm5, %ymm8 + vpblendw $-86, %ymm8, %ymm0, %ymm8 + vpsrld $16, %ymm0, %ymm0 + vpblendw $-86, %ymm5, %ymm0, %ymm0 + vpslld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm5, %ymm1, %ymm5 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm6, %ymm1, %ymm1 + vpslld $16, %ymm3, %ymm6 + vpblendw $-86, %ymm6, %ymm2, %ymm6 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm2 + vmovdqu %ymm7, (%rax) + vmovdqu %ymm4, 32(%rax) + vmovdqu %ymm8, 64(%rax) + vmovdqu %ymm0, 96(%rax) + vmovdqu %ymm5, 128(%rax) + vmovdqu %ymm1, 160(%rax) + vmovdqu %ymm6, 192(%rax) + vmovdqu %ymm2, 224(%rax) + vmovdqu 256(%rax), %ymm1 + vmovdqu 288(%rax), %ymm3 + vmovdqu 320(%rax), %ymm4 + vmovdqu 352(%rax), %ymm5 + vmovdqu 384(%rax), %ymm2 + vmovdqu 416(%rax), %ymm6 + vmovdqu 448(%rax), %ymm7 + vmovdqu 480(%rax), %ymm8 + vperm2i128 $32, %ymm2, %ymm1, %ymm0 + vperm2i128 $49, %ymm2, %ymm1, %ymm1 + vperm2i128 $32, %ymm6, %ymm3, %ymm2 + vperm2i128 $49, %ymm6, %ymm3, %ymm3 + vperm2i128 $32, %ymm7, %ymm4, %ymm6 + vperm2i128 $49, %ymm7, %ymm4, %ymm7 + vperm2i128 $32, %ymm8, %ymm5, %ymm9 + vperm2i128 $49, %ymm8, %ymm5, %ymm10 + vpunpcklqdq %ymm6, %ymm0, %ymm4 + vpunpckhqdq %ymm6, %ymm0, %ymm5 + vpunpcklqdq %ymm7, %ymm1, %ymm6 + vpunpckhqdq %ymm7, %ymm1, %ymm7 + vpunpcklqdq %ymm9, %ymm2, %ymm0 + vpunpckhqdq %ymm9, %ymm2, %ymm2 + vpunpcklqdq %ymm10, %ymm3, %ymm8 + vpunpckhqdq %ymm10, %ymm3, %ymm3 + vmovsldup %ymm0, %ymm1 + vpblendd $-86, %ymm1, %ymm4, %ymm9 + vpsrlq $32, %ymm4, %ymm1 + vpblendd $-86, %ymm0, %ymm1, %ymm0 + vmovsldup %ymm2, %ymm1 + vpblendd $-86, %ymm1, %ymm5, %ymm1 + vpsrlq $32, %ymm5, %ymm4 + vpblendd $-86, %ymm2, %ymm4, %ymm2 + vmovsldup %ymm8, %ymm4 + vpblendd $-86, %ymm4, %ymm6, %ymm4 + vpsrlq $32, %ymm6, %ymm5 + vpblendd $-86, %ymm8, %ymm5, %ymm5 + vmovsldup %ymm3, %ymm6 + vpblendd $-86, %ymm6, %ymm7, %ymm6 + vpsrlq $32, %ymm7, %ymm7 + vpblendd $-86, %ymm3, %ymm7, %ymm3 + vpslld $16, %ymm4, %ymm7 + vpblendw $-86, %ymm7, %ymm9, %ymm7 + vpsrld $16, %ymm9, %ymm8 + vpblendw $-86, %ymm4, %ymm8, %ymm4 + vpslld $16, %ymm5, %ymm8 + vpblendw $-86, %ymm8, %ymm0, %ymm8 + vpsrld $16, %ymm0, %ymm0 + vpblendw $-86, %ymm5, %ymm0, %ymm0 + vpslld $16, %ymm6, %ymm5 + vpblendw $-86, %ymm5, %ymm1, %ymm5 + vpsrld $16, %ymm1, %ymm1 + vpblendw $-86, %ymm6, %ymm1, %ymm1 + vpslld $16, %ymm3, %ymm6 + vpblendw $-86, %ymm6, %ymm2, %ymm6 + vpsrld $16, %ymm2, %ymm2 + vpblendw $-86, %ymm3, %ymm2, %ymm2 + vmovdqu %ymm7, 256(%rax) + vmovdqu %ymm4, 288(%rax) + vmovdqu %ymm8, 320(%rax) + vmovdqu %ymm0, 352(%rax) + vmovdqu %ymm5, 384(%rax) + vmovdqu %ymm1, 416(%rax) + vmovdqu %ymm6, 448(%rax) + vmovdqu %ymm2, 480(%rax) + ret +L_shake256_absorb4x_33$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, (%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 544(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 576(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 608(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 672(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 704(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 736(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 768(%rax) + movq (%rcx), %rbx + xorq %rbx, (%rax) + movq (%rdx), %rbx + xorq %rbx, 8(%rax) + movq (%rsi), %rbx + xorq %rbx, 16(%rax) + movq (%r11), %rbx + xorq %rbx, 24(%rax) + movq 8(%rcx), %rbx + xorq %rbx, 32(%rax) + movq 8(%rdx), %rbx + xorq %rbx, 40(%rax) + movq 8(%rsi), %rbx + xorq %rbx, 48(%rax) + movq 8(%r11), %rbx + xorq %rbx, 56(%rax) + movq 16(%rcx), %rbx + xorq %rbx, 64(%rax) + movq 16(%rdx), %rbx + xorq %rbx, 72(%rax) + movq 16(%rsi), %rbx + xorq %rbx, 80(%rax) + movq 16(%r11), %rbx + xorq %rbx, 88(%rax) + movq 24(%rcx), %rbx + xorq %rbx, 96(%rax) + movq 24(%rdx), %rbx + xorq %rbx, 104(%rax) + movq 24(%rsi), %rbx + xorq %rbx, 112(%rax) + movq 24(%r11), %rbx + xorq %rbx, 120(%rax) + movb 32(%rcx), %cl + xorb %cl, 128(%rax) + xorb $31, 129(%rax) + movb 32(%rdx), %cl + xorb %cl, 136(%rax) + xorb $31, 137(%rax) + movb 32(%rsi), %cl + xorb %cl, 144(%rax) + xorb $31, 145(%rax) + movb 32(%r11), %cl + xorb %cl, 152(%rax) + xorb $31, 153(%rax) + vmovdqu glob_data + 2080(%rip), %ymm0 + vmovdqu 512(%rax), %ymm1 + vpxor %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + ret +L_shake128_absorb4x_34$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, (%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 64(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 96(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 128(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 160(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 192(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 224(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 256(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 288(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 320(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 352(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 384(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 416(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 448(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 480(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 512(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 544(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 576(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 608(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 672(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 704(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 736(%rax) + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 768(%rax) + movq (%rcx), %r8 + xorq %r8, (%rax) + movq (%rdx), %r8 + xorq %r8, 8(%rax) + movq (%rsi), %r8 + xorq %r8, 16(%rax) + movq (%rdi), %r8 + xorq %r8, 24(%rax) + movq 8(%rcx), %r8 + xorq %r8, 32(%rax) + movq 8(%rdx), %r8 + xorq %r8, 40(%rax) + movq 8(%rsi), %r8 + xorq %r8, 48(%rax) + movq 8(%rdi), %r8 + xorq %r8, 56(%rax) + movq 16(%rcx), %r8 + xorq %r8, 64(%rax) + movq 16(%rdx), %r8 + xorq %r8, 72(%rax) + movq 16(%rsi), %r8 + xorq %r8, 80(%rax) + movq 16(%rdi), %r8 + xorq %r8, 88(%rax) + movq 24(%rcx), %r8 + xorq %r8, 96(%rax) + movq 24(%rdx), %r8 + xorq %r8, 104(%rax) + movq 24(%rsi), %r8 + xorq %r8, 112(%rax) + movq 24(%rdi), %r8 + xorq %r8, 120(%rax) + movw 32(%rcx), %cx + xorw %cx, 128(%rax) + xorb $31, 130(%rax) + movw 32(%rdx), %cx + xorw %cx, 136(%rax) + xorb $31, 138(%rax) + movw 32(%rsi), %cx + xorw %cx, 144(%rax) + xorb $31, 146(%rax) + movw 32(%rdi), %cx + xorw %cx, 152(%rax) + xorb $31, 154(%rax) + vmovdqu glob_data + 2080(%rip), %ymm0 + vmovdqu 640(%rax), %ymm1 + vpxor %ymm1, %ymm0, %ymm0 + vmovdqu %ymm0, 640(%rax) + ret +L_keccakf1600_4x_avx2$1: + leaq 32(%rsp), %rcx + leaq glob_data + 2176(%rip), %rdx + vmovdqu glob_data + 2112(%rip), %ymm0 + vmovdqu glob_data + 2144(%rip), %ymm1 + movq $0, %rsi +L_keccakf1600_4x_avx2$2: + vmovdqu (%rdx,%rsi), %ymm2 + vmovdqu (%rax), %ymm3 + vmovdqu 32(%rax), %ymm4 + vmovdqu 64(%rax), %ymm5 + vmovdqu 96(%rax), %ymm6 + vmovdqu 128(%rax), %ymm7 + vpxor 160(%rax), %ymm3, %ymm3 + vpxor 192(%rax), %ymm4, %ymm4 + vpxor 224(%rax), %ymm5, %ymm5 + vpxor 256(%rax), %ymm6, %ymm6 + vpxor 288(%rax), %ymm7, %ymm7 + vpxor 320(%rax), %ymm3, %ymm3 + vpxor 352(%rax), %ymm4, %ymm4 + vpxor 384(%rax), %ymm5, %ymm5 + vpxor 416(%rax), %ymm6, %ymm6 + vpxor 448(%rax), %ymm7, %ymm7 + vpxor 480(%rax), %ymm3, %ymm3 + vpxor 512(%rax), %ymm4, %ymm4 + vpxor 544(%rax), %ymm5, %ymm8 + vpxor 576(%rax), %ymm6, %ymm9 + vpxor 608(%rax), %ymm7, %ymm10 + vpxor 640(%rax), %ymm3, %ymm7 + vpxor 672(%rax), %ymm4, %ymm5 + vpxor 704(%rax), %ymm8, %ymm6 + vpxor 736(%rax), %ymm9, %ymm8 + vpxor 768(%rax), %ymm10, %ymm9 + vmovdqu %ymm5, %ymm3 + vpsllq $1, %ymm3, %ymm4 + vpsrlq $63, %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm3 + vmovdqu %ymm6, %ymm4 + vpsllq $1, %ymm4, %ymm10 + vpsrlq $63, %ymm4, %ymm4 + vpor %ymm10, %ymm4, %ymm4 + vpxor %ymm7, %ymm4, %ymm4 + vmovdqu %ymm8, %ymm10 + vpsllq $1, %ymm10, %ymm11 + vpsrlq $63, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vpxor %ymm5, %ymm10, %ymm5 + vpsllq $1, %ymm9, %ymm10 + vpsrlq $63, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vpxor %ymm6, %ymm9, %ymm6 + vpsllq $1, %ymm7, %ymm9 + vpsrlq $63, %ymm7, %ymm7 + vpor %ymm9, %ymm7, %ymm7 + vpxor %ymm8, %ymm7, %ymm7 + vmovdqu (%rax), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vmovdqu 192(%rax), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $44, %ymm9, %ymm10 + vpsrlq $20, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 384(%rax), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $43, %ymm10, %ymm11 + vpsrlq $21, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 576(%rax), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpsllq $21, %ymm11, %ymm12 + vpsrlq $43, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vmovdqu 768(%rax), %ymm12 + vpxor %ymm7, %ymm12, %ymm12 + vpsllq $14, %ymm12, %ymm13 + vpsrlq $50, %ymm12, %ymm12 + vpor %ymm13, %ymm12, %ymm12 + vpandn %ymm10, %ymm9, %ymm13 + vpxor %ymm8, %ymm13, %ymm13 + vpxor %ymm2, %ymm13, %ymm2 + vmovdqu %ymm2, (%rcx) + vpandn %ymm11, %ymm10, %ymm2 + vpxor %ymm9, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rcx) + vpandn %ymm12, %ymm11, %ymm2 + vpxor %ymm10, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rcx) + vpandn %ymm8, %ymm12, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rcx) + vpandn %ymm9, %ymm8, %ymm2 + vpxor %ymm12, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rcx) + vmovdqu 96(%rax), %ymm2 + vpxor %ymm6, %ymm2, %ymm2 + vpsllq $28, %ymm2, %ymm8 + vpsrlq $36, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 288(%rax), %ymm8 + vpxor %ymm7, %ymm8, %ymm8 + vpsllq $20, %ymm8, %ymm9 + vpsrlq $44, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 320(%rax), %ymm9 + vpxor %ymm3, %ymm9, %ymm9 + vpsllq $3, %ymm9, %ymm10 + vpsrlq $61, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 512(%rax), %ymm10 + vpxor %ymm4, %ymm10, %ymm10 + vpsllq $45, %ymm10, %ymm11 + vpsrlq $19, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 704(%rax), %ymm11 + vpxor %ymm5, %ymm11, %ymm11 + vpsllq $61, %ymm11, %ymm12 + vpsrlq $3, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 160(%rcx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 192(%rcx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 224(%rcx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 256(%rcx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rcx) + vmovdqu 32(%rax), %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vpsllq $1, %ymm2, %ymm8 + vpsrlq $63, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 224(%rax), %ymm8 + vpxor %ymm5, %ymm8, %ymm8 + vpsllq $6, %ymm8, %ymm9 + vpsrlq $58, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 416(%rax), %ymm9 + vpxor %ymm6, %ymm9, %ymm9 + vpsllq $25, %ymm9, %ymm10 + vpsrlq $39, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 608(%rax), %ymm10 + vpxor %ymm7, %ymm10, %ymm10 + vpshufb %ymm0, %ymm10, %ymm10 + vmovdqu 640(%rax), %ymm11 + vpxor %ymm3, %ymm11, %ymm11 + vpsllq $18, %ymm11, %ymm12 + vpsrlq $46, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 320(%rcx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 352(%rcx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 384(%rcx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 416(%rcx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rcx) + vmovdqu 128(%rax), %ymm2 + vpxor %ymm7, %ymm2, %ymm2 + vpsllq $27, %ymm2, %ymm8 + vpsrlq $37, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 160(%rax), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vpsllq $36, %ymm8, %ymm9 + vpsrlq $28, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 352(%rax), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $10, %ymm9, %ymm10 + vpsrlq $54, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 544(%rax), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $15, %ymm10, %ymm11 + vpsrlq $49, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 736(%rax), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpshufb %ymm1, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 480(%rcx) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 512(%rcx) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 544(%rcx) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 576(%rcx) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 608(%rcx) + vmovdqu 64(%rax), %ymm2 + vpxor %ymm5, %ymm2, %ymm2 + vpsllq $62, %ymm2, %ymm5 + vpsrlq $2, %ymm2, %ymm2 + vpor %ymm5, %ymm2, %ymm2 + vmovdqu 256(%rax), %ymm5 + vpxor %ymm6, %ymm5, %ymm5 + vpsllq $55, %ymm5, %ymm6 + vpsrlq $9, %ymm5, %ymm5 + vpor %ymm6, %ymm5, %ymm5 + vmovdqu 448(%rax), %ymm6 + vpxor %ymm7, %ymm6, %ymm6 + vpsllq $39, %ymm6, %ymm7 + vpsrlq $25, %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vmovdqu 480(%rax), %ymm7 + vpxor %ymm3, %ymm7, %ymm3 + vpsllq $41, %ymm3, %ymm7 + vpsrlq $23, %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm3 + vmovdqu 672(%rax), %ymm7 + vpxor %ymm4, %ymm7, %ymm4 + vpsllq $2, %ymm4, %ymm7 + vpsrlq $62, %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpandn %ymm6, %ymm5, %ymm7 + vpxor %ymm2, %ymm7, %ymm7 + vmovdqu %ymm7, 640(%rcx) + vpandn %ymm3, %ymm6, %ymm7 + vpxor %ymm5, %ymm7, %ymm7 + vmovdqu %ymm7, 672(%rcx) + vpandn %ymm4, %ymm3, %ymm7 + vpxor %ymm6, %ymm7, %ymm6 + vmovdqu %ymm6, 704(%rcx) + vpandn %ymm2, %ymm4, %ymm6 + vpxor %ymm3, %ymm6, %ymm3 + vmovdqu %ymm3, 736(%rcx) + vpandn %ymm5, %ymm2, %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vmovdqu %ymm2, 768(%rcx) + vmovdqu 32(%rdx,%rsi), %ymm2 + vmovdqu (%rcx), %ymm3 + vmovdqu 32(%rcx), %ymm4 + vmovdqu 64(%rcx), %ymm5 + vmovdqu 96(%rcx), %ymm6 + vmovdqu 128(%rcx), %ymm7 + vpxor 160(%rcx), %ymm3, %ymm3 + vpxor 192(%rcx), %ymm4, %ymm4 + vpxor 224(%rcx), %ymm5, %ymm5 + vpxor 256(%rcx), %ymm6, %ymm6 + vpxor 288(%rcx), %ymm7, %ymm7 + vpxor 320(%rcx), %ymm3, %ymm3 + vpxor 352(%rcx), %ymm4, %ymm4 + vpxor 384(%rcx), %ymm5, %ymm5 + vpxor 416(%rcx), %ymm6, %ymm6 + vpxor 448(%rcx), %ymm7, %ymm7 + vpxor 480(%rcx), %ymm3, %ymm3 + vpxor 512(%rcx), %ymm4, %ymm4 + vpxor 544(%rcx), %ymm5, %ymm8 + vpxor 576(%rcx), %ymm6, %ymm9 + vpxor 608(%rcx), %ymm7, %ymm10 + vpxor 640(%rcx), %ymm3, %ymm7 + vpxor 672(%rcx), %ymm4, %ymm5 + vpxor 704(%rcx), %ymm8, %ymm6 + vpxor 736(%rcx), %ymm9, %ymm8 + vpxor 768(%rcx), %ymm10, %ymm9 + vmovdqu %ymm5, %ymm3 + vpsllq $1, %ymm3, %ymm4 + vpsrlq $63, %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm3 + vmovdqu %ymm6, %ymm4 + vpsllq $1, %ymm4, %ymm10 + vpsrlq $63, %ymm4, %ymm4 + vpor %ymm10, %ymm4, %ymm4 + vpxor %ymm7, %ymm4, %ymm4 + vmovdqu %ymm8, %ymm10 + vpsllq $1, %ymm10, %ymm11 + vpsrlq $63, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vpxor %ymm5, %ymm10, %ymm5 + vpsllq $1, %ymm9, %ymm10 + vpsrlq $63, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vpxor %ymm6, %ymm9, %ymm6 + vpsllq $1, %ymm7, %ymm9 + vpsrlq $63, %ymm7, %ymm7 + vpor %ymm9, %ymm7, %ymm7 + vpxor %ymm8, %ymm7, %ymm7 + vmovdqu (%rcx), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vmovdqu 192(%rcx), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $44, %ymm9, %ymm10 + vpsrlq $20, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 384(%rcx), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $43, %ymm10, %ymm11 + vpsrlq $21, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 576(%rcx), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpsllq $21, %ymm11, %ymm12 + vpsrlq $43, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vmovdqu 768(%rcx), %ymm12 + vpxor %ymm7, %ymm12, %ymm12 + vpsllq $14, %ymm12, %ymm13 + vpsrlq $50, %ymm12, %ymm12 + vpor %ymm13, %ymm12, %ymm12 + vpandn %ymm10, %ymm9, %ymm13 + vpxor %ymm8, %ymm13, %ymm13 + vpxor %ymm2, %ymm13, %ymm2 + vmovdqu %ymm2, (%rax) + vpandn %ymm11, %ymm10, %ymm2 + vpxor %ymm9, %ymm2, %ymm2 + vmovdqu %ymm2, 32(%rax) + vpandn %ymm12, %ymm11, %ymm2 + vpxor %ymm10, %ymm2, %ymm2 + vmovdqu %ymm2, 64(%rax) + vpandn %ymm8, %ymm12, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 96(%rax) + vpandn %ymm9, %ymm8, %ymm2 + vpxor %ymm12, %ymm2, %ymm2 + vmovdqu %ymm2, 128(%rax) + vmovdqu 96(%rcx), %ymm2 + vpxor %ymm6, %ymm2, %ymm2 + vpsllq $28, %ymm2, %ymm8 + vpsrlq $36, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 288(%rcx), %ymm8 + vpxor %ymm7, %ymm8, %ymm8 + vpsllq $20, %ymm8, %ymm9 + vpsrlq $44, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 320(%rcx), %ymm9 + vpxor %ymm3, %ymm9, %ymm9 + vpsllq $3, %ymm9, %ymm10 + vpsrlq $61, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 512(%rcx), %ymm10 + vpxor %ymm4, %ymm10, %ymm10 + vpsllq $45, %ymm10, %ymm11 + vpsrlq $19, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 704(%rcx), %ymm11 + vpxor %ymm5, %ymm11, %ymm11 + vpsllq $61, %ymm11, %ymm12 + vpsrlq $3, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 160(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 192(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 224(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 256(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 288(%rax) + vmovdqu 32(%rcx), %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vpsllq $1, %ymm2, %ymm8 + vpsrlq $63, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 224(%rcx), %ymm8 + vpxor %ymm5, %ymm8, %ymm8 + vpsllq $6, %ymm8, %ymm9 + vpsrlq $58, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 416(%rcx), %ymm9 + vpxor %ymm6, %ymm9, %ymm9 + vpsllq $25, %ymm9, %ymm10 + vpsrlq $39, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 608(%rcx), %ymm10 + vpxor %ymm7, %ymm10, %ymm10 + vpshufb %ymm0, %ymm10, %ymm10 + vmovdqu 640(%rcx), %ymm11 + vpxor %ymm3, %ymm11, %ymm11 + vpsllq $18, %ymm11, %ymm12 + vpsrlq $46, %ymm11, %ymm11 + vpor %ymm12, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 320(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 352(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 384(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 416(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 448(%rax) + vmovdqu 128(%rcx), %ymm2 + vpxor %ymm7, %ymm2, %ymm2 + vpsllq $27, %ymm2, %ymm8 + vpsrlq $37, %ymm2, %ymm2 + vpor %ymm8, %ymm2, %ymm2 + vmovdqu 160(%rcx), %ymm8 + vpxor %ymm3, %ymm8, %ymm8 + vpsllq $36, %ymm8, %ymm9 + vpsrlq $28, %ymm8, %ymm8 + vpor %ymm9, %ymm8, %ymm8 + vmovdqu 352(%rcx), %ymm9 + vpxor %ymm4, %ymm9, %ymm9 + vpsllq $10, %ymm9, %ymm10 + vpsrlq $54, %ymm9, %ymm9 + vpor %ymm10, %ymm9, %ymm9 + vmovdqu 544(%rcx), %ymm10 + vpxor %ymm5, %ymm10, %ymm10 + vpsllq $15, %ymm10, %ymm11 + vpsrlq $49, %ymm10, %ymm10 + vpor %ymm11, %ymm10, %ymm10 + vmovdqu 736(%rcx), %ymm11 + vpxor %ymm6, %ymm11, %ymm11 + vpshufb %ymm1, %ymm11, %ymm11 + vpandn %ymm9, %ymm8, %ymm12 + vpxor %ymm2, %ymm12, %ymm12 + vmovdqu %ymm12, 480(%rax) + vpandn %ymm10, %ymm9, %ymm12 + vpxor %ymm8, %ymm12, %ymm12 + vmovdqu %ymm12, 512(%rax) + vpandn %ymm11, %ymm10, %ymm12 + vpxor %ymm9, %ymm12, %ymm9 + vmovdqu %ymm9, 544(%rax) + vpandn %ymm2, %ymm11, %ymm9 + vpxor %ymm10, %ymm9, %ymm9 + vmovdqu %ymm9, 576(%rax) + vpandn %ymm8, %ymm2, %ymm2 + vpxor %ymm11, %ymm2, %ymm2 + vmovdqu %ymm2, 608(%rax) + vmovdqu 64(%rcx), %ymm2 + vpxor %ymm5, %ymm2, %ymm2 + vpsllq $62, %ymm2, %ymm5 + vpsrlq $2, %ymm2, %ymm2 + vpor %ymm5, %ymm2, %ymm2 + vmovdqu 256(%rcx), %ymm5 + vpxor %ymm6, %ymm5, %ymm5 + vpsllq $55, %ymm5, %ymm6 + vpsrlq $9, %ymm5, %ymm5 + vpor %ymm6, %ymm5, %ymm5 + vmovdqu 448(%rcx), %ymm6 + vpxor %ymm7, %ymm6, %ymm6 + vpsllq $39, %ymm6, %ymm7 + vpsrlq $25, %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm6 + vmovdqu 480(%rcx), %ymm7 + vpxor %ymm3, %ymm7, %ymm3 + vpsllq $41, %ymm3, %ymm7 + vpsrlq $23, %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm3 + vmovdqu 672(%rcx), %ymm7 + vpxor %ymm4, %ymm7, %ymm4 + vpsllq $2, %ymm4, %ymm7 + vpsrlq $62, %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpandn %ymm6, %ymm5, %ymm7 + vpxor %ymm2, %ymm7, %ymm7 + vmovdqu %ymm7, 640(%rax) + vpandn %ymm3, %ymm6, %ymm7 + vpxor %ymm5, %ymm7, %ymm7 + vmovdqu %ymm7, 672(%rax) + vpandn %ymm4, %ymm3, %ymm7 + vpxor %ymm6, %ymm7, %ymm6 + vmovdqu %ymm6, 704(%rax) + vpandn %ymm2, %ymm4, %ymm6 + vpxor %ymm3, %ymm6, %ymm3 + vmovdqu %ymm3, 736(%rax) + vpandn %ymm5, %ymm2, %ymm2 + vpxor %ymm4, %ymm2, %ymm2 + vmovdqu %ymm2, 768(%rax) + addq $64, %rsi + cmpq $768, %rsi + jb L_keccakf1600_4x_avx2$2 + ret +L_sha3_512_32$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6208(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6216(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rcx + movq glob_data + 6224(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6232(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6264(%rip), %rcx + shlq $3, %rcx + movq $71, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L_sha3_512_32$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_512_32$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + ret +L_sha3_512_64$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6208(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6216(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rdx + movq glob_data + 6224(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 32(%rcx), %rdx + movq glob_data + 6232(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 40(%rcx), %rdx + movq glob_data + 6240(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 48(%rcx), %rdx + movq glob_data + 6248(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 56(%rcx), %rcx + movq glob_data + 6256(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6264(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6264(%rip), %rcx + shlq $3, %rcx + movq $71, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L_sha3_512_64$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_512_64$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + movq glob_data + 6232(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 32(%rax) + movq glob_data + 6240(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 40(%rax) + movq glob_data + 6248(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 48(%rax) + movq glob_data + 6256(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 56(%rax) + ret +L_shake256_64$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rax), %ymm4 + movq glob_data + 6208(%rip), %rsi + movq 8(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6216(%rip), %rsi + movq 16(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6224(%rip), %rsi + movq 24(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6232(%rip), %rsi + movq 32(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6240(%rip), %rsi + movq 40(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6248(%rip), %rsi + movq 48(%rax), %rdi + movq %rdi, 32(%rsp,%rsi,8) + movq glob_data + 6256(%rip), %rsi + movq 56(%rax), %rax + movq %rax, 32(%rsp,%rsi,8) + movq glob_data + 6264(%rip), %rax + shlq $3, %rax + movb $31, 32(%rsp,%rax) + movq glob_data + 6328(%rip), %rax + shlq $3, %rax + movq $135, %rsi + andq $7, %rsi + addq %rsi, %rax + xorb $-128, 32(%rsp,%rax) + vmovdqu 64(%rsp), %ymm5 + vmovdqu 96(%rsp), %ymm0 + vmovdqu 128(%rsp), %ymm1 + vmovdqu 160(%rsp), %ymm6 + vmovdqu 192(%rsp), %ymm2 + vmovdqu 224(%rsp), %ymm3 + movq $136, %rsi + leaq glob_data + 6200(%rip), %rax + jmp L_shake256_64$7 +L_shake256_64$8: + leaq glob_data + 3328(%rip), %rdi + movq $0, %r8 + leaq glob_data + 3136(%rip), %r9 + leaq glob_data + 2944(%rip), %r10 + movq $24, %r11 +L_shake256_64$11: + vpshufd $78, %ymm0, %ymm8 + vpxor %ymm1, %ymm2, %ymm7 + vpxor %ymm3, %ymm6, %ymm9 + vpxor %ymm5, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm0, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm4, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm0, %ymm0 + vpxor %ymm11, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r9), %ymm0, %ymm7 + vpsrlvq (%r10), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 64(%r9), %ymm1, %ymm7 + vpsrlvq 64(%r10), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%r9), %ymm6, %ymm7 + vpsrlvq 96(%r10), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 128(%r9), %ymm2, %ymm6 + vpsrlvq 128(%r10), %ymm2, %ymm2 + vpor %ymm6, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpermq $-115, %ymm0, %ymm6 + vpermq $-115, %ymm1, %ymm7 + vpsllvq 160(%r9), %ymm3, %ymm0 + vpsrlvq 160(%r10), %ymm3, %ymm1 + vpor %ymm0, %ymm1, %ymm8 + vpxor %ymm9, %ymm5, %ymm0 + vpermq $27, %ymm10, %ymm5 + vpermq $114, %ymm2, %ymm9 + vpsllvq 32(%r9), %ymm0, %ymm1 + vpsrlvq 32(%r10), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm1 + vpblendd $12, %ymm9, %ymm10, %ymm0 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm0, %ymm0 + vpblendd $48, %ymm5, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm5, %ymm0, %ymm0 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm0, %ymm0 + vpandn %ymm11, %ymm3, %ymm3 + vpblendd $12, %ymm10, %ymm5, %ymm11 + vpblendd $12, %ymm5, %ymm6, %ymm12 + vpxor %ymm6, %ymm0, %ymm2 + vpblendd $48, %ymm6, %ymm11, %ymm0 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm5, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm0, %ymm0 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm0, %ymm0 + vpxor %ymm9, %ymm0, %ymm12 + vpermq $30, %ymm8, %ymm0 + vpblendd $48, %ymm4, %ymm0, %ymm0 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm4, %ymm11, %ymm11 + vpandn %ymm0, %ymm11, %ymm11 + vpblendd $12, %ymm5, %ymm7, %ymm0 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm0, %ymm0 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm0, %ymm0 + vpblendd $-64, %ymm5, %ymm13, %ymm13 + vpandn %ymm13, %ymm0, %ymm0 + vpxor %ymm10, %ymm0, %ymm0 + vpermq $0, %ymm1, %ymm13 + vpermq $27, %ymm2, %ymm1 + vpermq $-115, %ymm3, %ymm2 + vpermq $114, %ymm12, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm5, %ymm9 + vpblendd $48, %ymm5, %ymm12, %ymm5 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm5, %ymm5 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm5, %ymm6 + vpxor %ymm13, %ymm4, %ymm4 + vpxor %ymm8, %ymm11, %ymm5 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rdi,%r8), %ymm4, %ymm4 + addq $32, %r8 + decq %r11 + jne L_shake256_64$11 + vmovdqu %ymm4, 32(%rsp) + vmovdqu %ymm5, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm1, 128(%rsp) + vmovdqu %ymm6, 160(%rsp) + vmovdqu %ymm2, 192(%rsp) + vmovdqu %ymm3, 224(%rsp) + movq %rsi, %rdi + shrq $3, %rdi + movq $0, %r8 + jmp L_shake256_64$9 +L_shake256_64$10: + movq (%rax,%r8,8), %r9 + movq 32(%rsp,%r9,8), %r9 + movq %r9, (%rdx,%r8,8) + incq %r8 +L_shake256_64$9: + cmpq %rdi, %r8 + jb L_shake256_64$10 + addq %rsi, %rdx + subq %rsi, %rcx +L_shake256_64$7: + cmpq %rsi, %rcx + jnbe L_shake256_64$8 + leaq glob_data + 3328(%rip), %rsi + movq $0, %rdi + leaq glob_data + 3136(%rip), %r8 + leaq glob_data + 2944(%rip), %r9 + movq $24, %r10 +L_shake256_64$6: + vpshufd $78, %ymm0, %ymm8 + vpxor %ymm1, %ymm2, %ymm7 + vpxor %ymm3, %ymm6, %ymm9 + vpxor %ymm5, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm0, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm4, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm0, %ymm0 + vpxor %ymm11, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r8), %ymm0, %ymm7 + vpsrlvq (%r9), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 64(%r8), %ymm1, %ymm7 + vpsrlvq 64(%r9), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm6, %ymm6 + vpsllvq 96(%r8), %ymm6, %ymm7 + vpsrlvq 96(%r9), %ymm6, %ymm6 + vpor %ymm7, %ymm6, %ymm10 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 128(%r8), %ymm2, %ymm6 + vpsrlvq 128(%r9), %ymm2, %ymm2 + vpor %ymm6, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpermq $-115, %ymm0, %ymm6 + vpermq $-115, %ymm1, %ymm7 + vpsllvq 160(%r8), %ymm3, %ymm0 + vpsrlvq 160(%r9), %ymm3, %ymm1 + vpor %ymm0, %ymm1, %ymm8 + vpxor %ymm9, %ymm5, %ymm0 + vpermq $27, %ymm10, %ymm5 + vpermq $114, %ymm2, %ymm9 + vpsllvq 32(%r8), %ymm0, %ymm1 + vpsrlvq 32(%r9), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm1 + vpblendd $12, %ymm9, %ymm10, %ymm0 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm0, %ymm0 + vpblendd $48, %ymm5, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm5, %ymm0, %ymm0 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm0, %ymm0 + vpandn %ymm11, %ymm3, %ymm3 + vpblendd $12, %ymm10, %ymm5, %ymm11 + vpblendd $12, %ymm5, %ymm6, %ymm12 + vpxor %ymm6, %ymm0, %ymm2 + vpblendd $48, %ymm6, %ymm11, %ymm0 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm5, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm0, %ymm0 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm0, %ymm0 + vpxor %ymm9, %ymm0, %ymm12 + vpermq $30, %ymm8, %ymm0 + vpblendd $48, %ymm4, %ymm0, %ymm0 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm4, %ymm11, %ymm11 + vpandn %ymm0, %ymm11, %ymm11 + vpblendd $12, %ymm5, %ymm7, %ymm0 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm0, %ymm0 + vpblendd $48, %ymm6, %ymm13, %ymm13 + vpblendd $-64, %ymm6, %ymm0, %ymm0 + vpblendd $-64, %ymm5, %ymm13, %ymm13 + vpandn %ymm13, %ymm0, %ymm0 + vpxor %ymm10, %ymm0, %ymm0 + vpermq $0, %ymm1, %ymm13 + vpermq $27, %ymm2, %ymm1 + vpermq $-115, %ymm3, %ymm2 + vpermq $114, %ymm12, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm5, %ymm9 + vpblendd $48, %ymm5, %ymm12, %ymm5 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm5, %ymm5 + vpblendd $-64, %ymm6, %ymm9, %ymm6 + vpandn %ymm6, %ymm5, %ymm6 + vpxor %ymm13, %ymm4, %ymm4 + vpxor %ymm8, %ymm11, %ymm5 + vpxor %ymm7, %ymm6, %ymm6 + vpxor (%rsi,%rdi), %ymm4, %ymm4 + addq $32, %rdi + decq %r10 + jne L_shake256_64$6 + vmovdqu %ymm4, 32(%rsp) + vmovdqu %ymm5, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm1, 128(%rsp) + vmovdqu %ymm6, 160(%rsp) + vmovdqu %ymm2, 192(%rsp) + vmovdqu %ymm3, 224(%rsp) + movq %rcx, %rsi + shrq $3, %rsi + movq $0, %rdi + jmp L_shake256_64$4 +L_shake256_64$5: + movq (%rax,%rdi,8), %r8 + movq 32(%rsp,%r8,8), %r8 + movq %r8, (%rdx,%rdi,8) + incq %rdi +L_shake256_64$4: + cmpq %rsi, %rdi + jb L_shake256_64$5 + movq (%rax,%rdi,8), %rax + shlq $3, %rdi + shlq $3, %rax + jmp L_shake256_64$2 +L_shake256_64$3: + movb 32(%rsp,%rax), %sil + movb %sil, (%rdx,%rdi) + incq %rdi + incq %rax +L_shake256_64$2: + cmpq %rcx, %rdi + jb L_shake256_64$3 + ret +L_sha3_256_32$1: + vpxor %ymm0, %ymm0, %ymm0 + vmovdqu %ymm0, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm0, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm0, 160(%rsp) + vmovdqu %ymm0, 192(%rsp) + vmovdqu %ymm0, 224(%rsp) + vpbroadcastq (%rcx), %ymm6 + movq 8(%rcx), %rdx + movq glob_data + 6208(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 16(%rcx), %rdx + movq glob_data + 6216(%rip), %rsi + movq %rdx, 32(%rsp,%rsi,8) + movq 24(%rcx), %rcx + movq glob_data + 6224(%rip), %rdx + movq %rcx, 32(%rsp,%rdx,8) + movq glob_data + 6232(%rip), %rcx + shlq $3, %rcx + movb $6, 32(%rsp,%rcx) + movq glob_data + 6328(%rip), %rcx + shlq $3, %rcx + movq $135, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + vmovdqu 64(%rsp), %ymm0 + vmovdqu 96(%rsp), %ymm1 + vmovdqu 128(%rsp), %ymm2 + vmovdqu 160(%rsp), %ymm3 + vmovdqu 192(%rsp), %ymm4 + vmovdqu 224(%rsp), %ymm5 + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L_sha3_256_32$2: + vpshufd $78, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm7 + vpxor %ymm5, %ymm3, %ymm9 + vpxor %ymm0, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm1, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm1, %ymm1 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%rsi), %ymm1, %ymm7 + vpsrlvq (%rdi), %ymm1, %ymm1 + vpor %ymm7, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpsllvq 64(%rsi), %ymm2, %ymm7 + vpsrlvq 64(%rdi), %ymm2, %ymm2 + vpor %ymm7, %ymm2, %ymm2 + vpxor %ymm9, %ymm3, %ymm3 + vpsllvq 96(%rsi), %ymm3, %ymm7 + vpsrlvq 96(%rdi), %ymm3, %ymm3 + vpor %ymm7, %ymm3, %ymm10 + vpxor %ymm9, %ymm4, %ymm3 + vpsllvq 128(%rsi), %ymm3, %ymm4 + vpsrlvq 128(%rdi), %ymm3, %ymm3 + vpor %ymm4, %ymm3, %ymm4 + vpxor %ymm9, %ymm5, %ymm5 + vpermq $-115, %ymm1, %ymm3 + vpermq $-115, %ymm2, %ymm7 + vpsllvq 160(%rsi), %ymm5, %ymm1 + vpsrlvq 160(%rdi), %ymm5, %ymm2 + vpor %ymm1, %ymm2, %ymm8 + vpxor %ymm9, %ymm0, %ymm1 + vpermq $27, %ymm10, %ymm0 + vpermq $114, %ymm4, %ymm9 + vpsllvq 32(%rsi), %ymm1, %ymm2 + vpsrlvq 32(%rdi), %ymm1, %ymm1 + vpor %ymm2, %ymm1, %ymm10 + vpsrldq $8, %ymm8, %ymm1 + vpandn %ymm1, %ymm8, %ymm2 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm3, %ymm5 + vpblendd $12, %ymm3, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm0, %ymm4, %ymm4 + vpblendd $48, %ymm10, %ymm5, %ymm5 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm0, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm9, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm4, %ymm1, %ymm1 + vpandn %ymm11, %ymm5, %ymm5 + vpblendd $12, %ymm10, %ymm0, %ymm11 + vpblendd $12, %ymm0, %ymm3, %ymm12 + vpxor %ymm3, %ymm1, %ymm4 + vpblendd $48, %ymm3, %ymm11, %ymm1 + vpblendd $48, %ymm7, %ymm12, %ymm11 + vpxor %ymm0, %ymm5, %ymm5 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm1, %ymm1 + vpxor %ymm9, %ymm1, %ymm12 + vpermq $30, %ymm8, %ymm1 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm1, %ymm11, %ymm11 + vpblendd $12, %ymm0, %ymm7, %ymm1 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm13, %ymm13 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm0, %ymm13, %ymm13 + vpandn %ymm13, %ymm1, %ymm1 + vpxor %ymm10, %ymm1, %ymm1 + vpermq $0, %ymm2, %ymm13 + vpermq $27, %ymm4, %ymm2 + vpermq $-115, %ymm5, %ymm4 + vpermq $114, %ymm12, %ymm5 + vpblendd $12, %ymm3, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm0, %ymm9 + vpblendd $48, %ymm0, %ymm12, %ymm0 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm0, %ymm0 + vpblendd $-64, %ymm3, %ymm9, %ymm3 + vpandn %ymm3, %ymm0, %ymm3 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm0 + vpxor %ymm7, %ymm3, %ymm3 + vpxor (%rcx,%rdx), %ymm6, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_256_32$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm0, 64(%rsp) + vmovdqu %ymm1, 96(%rsp) + vmovdqu %ymm2, 128(%rsp) + vmovdqu %ymm3, 160(%rsp) + vmovdqu %ymm4, 192(%rsp) + vmovdqu %ymm5, 224(%rsp) + movq glob_data + 6200(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, (%rax) + movq glob_data + 6208(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 8(%rax) + movq glob_data + 6216(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 16(%rax) + movq glob_data + 6224(%rip), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + ret +L_sha3_256$1: + vpxor %ymm6, %ymm6, %ymm6 + vpxor %ymm3, %ymm3, %ymm3 + vpxor %ymm4, %ymm4, %ymm4 + vpxor %ymm0, %ymm0, %ymm0 + vpxor %ymm5, %ymm5, %ymm5 + vpxor %ymm1, %ymm1, %ymm1 + vpxor %ymm2, %ymm2, %ymm2 + movb $6, %cl + movq $136, %rdx + leaq glob_data + 6200(%rip), %rsi + vpxor %ymm7, %ymm7, %ymm7 + vmovdqu %ymm7, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm7, 96(%rsp) + vmovdqu %ymm7, 128(%rsp) + vmovdqu %ymm7, 160(%rsp) + vmovdqu %ymm7, 192(%rsp) + vmovdqu %ymm7, 224(%rsp) + jmp L_sha3_256$7 +L_sha3_256$8: + movq %rdx, %r9 + shrq $3, %r9 + movq $0, %r10 + jmp L_sha3_256$10 +L_sha3_256$11: + movq (%r8,%r10,8), %r11 + movq (%rsi,%r10,8), %rbx + movq %r11, 32(%rsp,%rbx,8) + incq %r10 +L_sha3_256$10: + cmpq %r9, %r10 + jb L_sha3_256$11 + movq 32(%rsp), %r9 + movq %r9, 40(%rsp) + movq %r9, 48(%rsp) + movq %r9, 56(%rsp) + vpxor 32(%rsp), %ymm6, %ymm6 + vpxor 64(%rsp), %ymm3, %ymm3 + vpxor 96(%rsp), %ymm4, %ymm4 + vpxor 128(%rsp), %ymm0, %ymm0 + vpxor 160(%rsp), %ymm5, %ymm5 + vpxor 192(%rsp), %ymm1, %ymm1 + vpxor 224(%rsp), %ymm2, %ymm2 + addq %rdx, %r8 + subq %rdx, %rdi + leaq glob_data + 3328(%rip), %r9 + movq $0, %r10 + leaq glob_data + 3136(%rip), %r11 + leaq glob_data + 2944(%rip), %rbx + movq $24, %rbp +L_sha3_256$9: + vpshufd $78, %ymm4, %ymm8 + vpxor %ymm0, %ymm1, %ymm7 + vpxor %ymm2, %ymm5, %ymm9 + vpxor %ymm3, %ymm7, %ymm7 + vpxor %ymm9, %ymm7, %ymm10 + vpermq $-109, %ymm10, %ymm7 + vpxor %ymm4, %ymm8, %ymm8 + vpermq $78, %ymm8, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm7, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm8 + vpsrlq $63, %ymm8, %ymm9 + vpaddq %ymm8, %ymm8, %ymm12 + vpor %ymm9, %ymm12, %ymm9 + vpxor %ymm11, %ymm4, %ymm4 + vpxor %ymm11, %ymm6, %ymm6 + vpblendd $-64, %ymm9, %ymm10, %ymm9 + vpblendd $3, %ymm8, %ymm7, %ymm7 + vpxor %ymm7, %ymm9, %ymm9 + vpsllvq (%r11), %ymm4, %ymm7 + vpsrlvq (%rbx), %ymm4, %ymm4 + vpor %ymm7, %ymm4, %ymm4 + vpxor %ymm9, %ymm0, %ymm0 + vpsllvq 64(%r11), %ymm0, %ymm7 + vpsrlvq 64(%rbx), %ymm0, %ymm0 + vpor %ymm7, %ymm0, %ymm0 + vpxor %ymm9, %ymm5, %ymm5 + vpsllvq 96(%r11), %ymm5, %ymm7 + vpsrlvq 96(%rbx), %ymm5, %ymm5 + vpor %ymm7, %ymm5, %ymm10 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 128(%r11), %ymm1, %ymm5 + vpsrlvq 128(%rbx), %ymm1, %ymm1 + vpor %ymm5, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpermq $-115, %ymm4, %ymm5 + vpermq $-115, %ymm0, %ymm7 + vpsllvq 160(%r11), %ymm2, %ymm0 + vpsrlvq 160(%rbx), %ymm2, %ymm2 + vpor %ymm0, %ymm2, %ymm8 + vpxor %ymm9, %ymm3, %ymm0 + vpermq $27, %ymm10, %ymm3 + vpermq $114, %ymm1, %ymm9 + vpsllvq 32(%r11), %ymm0, %ymm1 + vpsrlvq 32(%rbx), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm0 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm7, %ymm2 + vpblendd $12, %ymm7, %ymm5, %ymm4 + vpblendd $12, %ymm5, %ymm10, %ymm11 + vpblendd $48, %ymm7, %ymm1, %ymm1 + vpblendd $48, %ymm3, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm4, %ymm4 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm3, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm4, %ymm4 + vpblendd $-64, %ymm7, %ymm11, %ymm11 + vpandn %ymm2, %ymm1, %ymm1 + vpandn %ymm11, %ymm4, %ymm2 + vpblendd $12, %ymm10, %ymm3, %ymm4 + vpblendd $12, %ymm3, %ymm5, %ymm11 + vpxor %ymm5, %ymm1, %ymm1 + vpblendd $48, %ymm5, %ymm4, %ymm4 + vpblendd $48, %ymm7, %ymm11, %ymm11 + vpxor %ymm3, %ymm2, %ymm2 + vpblendd $-64, %ymm7, %ymm4, %ymm4 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm4, %ymm4 + vpxor %ymm9, %ymm4, %ymm12 + vpermq $30, %ymm8, %ymm4 + vpblendd $48, %ymm6, %ymm4, %ymm4 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm4, %ymm11, %ymm11 + vpblendd $12, %ymm3, %ymm7, %ymm4 + vpblendd $12, %ymm7, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm4, %ymm4 + vpblendd $48, %ymm5, %ymm13, %ymm13 + vpblendd $-64, %ymm5, %ymm4, %ymm4 + vpblendd $-64, %ymm3, %ymm13, %ymm13 + vpandn %ymm13, %ymm4, %ymm4 + vpxor %ymm10, %ymm4, %ymm4 + vpermq $0, %ymm0, %ymm13 + vpermq $27, %ymm1, %ymm0 + vpermq $-115, %ymm2, %ymm1 + vpermq $114, %ymm12, %ymm2 + vpblendd $12, %ymm5, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm3, %ymm9 + vpblendd $48, %ymm3, %ymm12, %ymm3 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm3, %ymm3 + vpblendd $-64, %ymm5, %ymm9, %ymm5 + vpandn %ymm5, %ymm3, %ymm5 + vpxor %ymm13, %ymm6, %ymm6 + vpxor %ymm8, %ymm11, %ymm3 + vpxor %ymm7, %ymm5, %ymm5 + vpxor (%r9,%r10), %ymm6, %ymm6 + addq $32, %r10 + decq %rbp + jne L_sha3_256$9 +L_sha3_256$7: + cmpq %rdx, %rdi + jnb L_sha3_256$8 + vpxor %ymm7, %ymm7, %ymm7 + vmovdqu %ymm7, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm7, 96(%rsp) + vmovdqu %ymm7, 128(%rsp) + vmovdqu %ymm7, 160(%rsp) + vmovdqu %ymm7, 192(%rsp) + vmovdqu %ymm7, 224(%rsp) + movq %rdi, %r9 + shrq $3, %r9 + movq $0, %r10 + jmp L_sha3_256$5 +L_sha3_256$6: + movq (%r8,%r10,8), %r11 + movq (%rsi,%r10,8), %rbx + movq %r11, 32(%rsp,%rbx,8) + incq %r10 +L_sha3_256$5: + cmpq %r9, %r10 + jb L_sha3_256$6 + movq (%rsi,%r10,8), %r9 + shlq $3, %r9 + shlq $3, %r10 + jmp L_sha3_256$3 +L_sha3_256$4: + movb (%r8,%r10), %r11b + movb %r11b, 32(%rsp,%r9) + incq %r10 + incq %r9 +L_sha3_256$3: + cmpq %rdi, %r10 + jb L_sha3_256$4 + movb %cl, 32(%rsp,%r9) + movq %rdx, %rcx + addq $-1, %rcx + shrq $3, %rcx + movq (%rsi,%rcx,8), %rcx + shlq $3, %rcx + addq $-1, %rdx + andq $7, %rdx + addq %rdx, %rcx + xorb $-128, 32(%rsp,%rcx) + movq 32(%rsp), %rcx + movq %rcx, 40(%rsp) + movq %rcx, 48(%rsp) + movq %rcx, 56(%rsp) + vpxor 32(%rsp), %ymm6, %ymm6 + vpxor 64(%rsp), %ymm3, %ymm7 + vpxor 96(%rsp), %ymm4, %ymm3 + vpxor 128(%rsp), %ymm0, %ymm0 + vpxor 160(%rsp), %ymm5, %ymm4 + vpxor 192(%rsp), %ymm1, %ymm1 + vpxor 224(%rsp), %ymm2, %ymm2 + leaq glob_data + 3328(%rip), %rcx + movq $0, %rdx + leaq glob_data + 3136(%rip), %rsi + leaq glob_data + 2944(%rip), %rdi + movq $24, %r8 +L_sha3_256$2: + vpshufd $78, %ymm3, %ymm5 + vpxor %ymm0, %ymm1, %ymm8 + vpxor %ymm2, %ymm4, %ymm9 + vpxor %ymm7, %ymm8, %ymm8 + vpxor %ymm9, %ymm8, %ymm10 + vpermq $-109, %ymm10, %ymm8 + vpxor %ymm3, %ymm5, %ymm5 + vpermq $78, %ymm5, %ymm9 + vpsrlq $63, %ymm10, %ymm11 + vpaddq %ymm10, %ymm10, %ymm10 + vpor %ymm10, %ymm11, %ymm11 + vpermq $57, %ymm11, %ymm10 + vpxor %ymm8, %ymm11, %ymm11 + vpermq $0, %ymm11, %ymm11 + vpxor %ymm6, %ymm5, %ymm5 + vpxor %ymm9, %ymm5, %ymm9 + vpsrlq $63, %ymm9, %ymm5 + vpaddq %ymm9, %ymm9, %ymm12 + vpor %ymm5, %ymm12, %ymm12 + vpxor %ymm11, %ymm3, %ymm3 + vpxor %ymm11, %ymm6, %ymm5 + vpblendd $-64, %ymm12, %ymm10, %ymm6 + vpblendd $3, %ymm9, %ymm8, %ymm8 + vpxor %ymm8, %ymm6, %ymm9 + vpsllvq (%rsi), %ymm3, %ymm6 + vpsrlvq (%rdi), %ymm3, %ymm3 + vpor %ymm6, %ymm3, %ymm3 + vpxor %ymm9, %ymm0, %ymm0 + vpsllvq 64(%rsi), %ymm0, %ymm6 + vpsrlvq 64(%rdi), %ymm0, %ymm0 + vpor %ymm6, %ymm0, %ymm0 + vpxor %ymm9, %ymm4, %ymm4 + vpsllvq 96(%rsi), %ymm4, %ymm6 + vpsrlvq 96(%rdi), %ymm4, %ymm4 + vpor %ymm6, %ymm4, %ymm10 + vpxor %ymm9, %ymm1, %ymm1 + vpsllvq 128(%rsi), %ymm1, %ymm4 + vpsrlvq 128(%rdi), %ymm1, %ymm1 + vpor %ymm4, %ymm1, %ymm1 + vpxor %ymm9, %ymm2, %ymm2 + vpermq $-115, %ymm3, %ymm4 + vpermq $-115, %ymm0, %ymm6 + vpsllvq 160(%rsi), %ymm2, %ymm0 + vpsrlvq 160(%rdi), %ymm2, %ymm2 + vpor %ymm0, %ymm2, %ymm8 + vpxor %ymm9, %ymm7, %ymm0 + vpermq $27, %ymm10, %ymm7 + vpermq $114, %ymm1, %ymm9 + vpsllvq 32(%rsi), %ymm0, %ymm1 + vpsrlvq 32(%rdi), %ymm0, %ymm0 + vpor %ymm1, %ymm0, %ymm10 + vpsrldq $8, %ymm8, %ymm0 + vpandn %ymm0, %ymm8, %ymm0 + vpblendd $12, %ymm9, %ymm10, %ymm1 + vpblendd $12, %ymm10, %ymm6, %ymm2 + vpblendd $12, %ymm6, %ymm4, %ymm3 + vpblendd $12, %ymm4, %ymm10, %ymm11 + vpblendd $48, %ymm6, %ymm1, %ymm1 + vpblendd $48, %ymm7, %ymm2, %ymm2 + vpblendd $48, %ymm10, %ymm3, %ymm3 + vpblendd $48, %ymm9, %ymm11, %ymm11 + vpblendd $-64, %ymm7, %ymm1, %ymm1 + vpblendd $-64, %ymm9, %ymm2, %ymm2 + vpblendd $-64, %ymm9, %ymm3, %ymm3 + vpblendd $-64, %ymm6, %ymm11, %ymm11 + vpandn %ymm2, %ymm1, %ymm1 + vpandn %ymm11, %ymm3, %ymm2 + vpblendd $12, %ymm10, %ymm7, %ymm3 + vpblendd $12, %ymm7, %ymm4, %ymm11 + vpxor %ymm4, %ymm1, %ymm1 + vpblendd $48, %ymm4, %ymm3, %ymm3 + vpblendd $48, %ymm6, %ymm11, %ymm11 + vpxor %ymm7, %ymm2, %ymm2 + vpblendd $-64, %ymm6, %ymm3, %ymm3 + vpblendd $-64, %ymm10, %ymm11, %ymm11 + vpandn %ymm11, %ymm3, %ymm3 + vpxor %ymm9, %ymm3, %ymm12 + vpermq $30, %ymm8, %ymm3 + vpblendd $48, %ymm5, %ymm3, %ymm3 + vpermq $57, %ymm8, %ymm11 + vpblendd $-64, %ymm5, %ymm11, %ymm11 + vpandn %ymm3, %ymm11, %ymm11 + vpblendd $12, %ymm7, %ymm6, %ymm3 + vpblendd $12, %ymm6, %ymm9, %ymm13 + vpblendd $48, %ymm9, %ymm3, %ymm3 + vpblendd $48, %ymm4, %ymm13, %ymm13 + vpblendd $-64, %ymm4, %ymm3, %ymm3 + vpblendd $-64, %ymm7, %ymm13, %ymm13 + vpandn %ymm13, %ymm3, %ymm3 + vpxor %ymm10, %ymm3, %ymm3 + vpermq $0, %ymm0, %ymm13 + vpermq $27, %ymm1, %ymm0 + vpermq $-115, %ymm2, %ymm1 + vpermq $114, %ymm12, %ymm2 + vpblendd $12, %ymm4, %ymm9, %ymm12 + vpblendd $12, %ymm9, %ymm7, %ymm9 + vpblendd $48, %ymm7, %ymm12, %ymm7 + vpblendd $48, %ymm10, %ymm9, %ymm9 + vpblendd $-64, %ymm10, %ymm7, %ymm7 + vpblendd $-64, %ymm4, %ymm9, %ymm4 + vpandn %ymm4, %ymm7, %ymm4 + vpxor %ymm13, %ymm5, %ymm5 + vpxor %ymm8, %ymm11, %ymm7 + vpxor %ymm6, %ymm4, %ymm4 + vpxor (%rcx,%rdx), %ymm5, %ymm6 + addq $32, %rdx + decq %r8 + jne L_sha3_256$2 + vmovdqu %ymm6, 32(%rsp) + vmovdqu %ymm7, 64(%rsp) + vmovdqu %ymm3, 96(%rsp) + vmovdqu %ymm0, 128(%rsp) + vmovdqu %ymm4, 160(%rsp) + vmovdqu %ymm1, 192(%rsp) + vmovdqu %ymm2, 224(%rsp) + leaq glob_data + 6200(%rip), %rcx + movq (%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq 32(%rsp,%rdx,8), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rcx + movq 32(%rsp,%rcx,8), %rcx + movq %rcx, 24(%rax) + ret + .data + .p2align 5 +_glob_data: +glob_data: + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 4 + .byte 5 + .byte 6 + .byte 7 + .byte 7 + .byte 8 + .byte 9 + .byte 10 + .byte 10 + .byte 11 + .byte 4 + .byte 5 + .byte 5 + .byte 6 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 14 + .byte 15 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 8 + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 6 + .byte 7 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 5 + .byte 5 + .byte 6 + .byte 7 + .byte 8 + .byte 8 + .byte 9 + .byte 9 + .byte 10 + .byte 10 + .byte 11 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte 5 + .byte 5 + .byte 5 + .byte 5 + .byte 6 + .byte 6 + .byte 6 + .byte 6 + .byte 7 + .byte 7 + .byte 7 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 5 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 73 + .byte 5 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte 64 + .byte 3 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -128 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -127 + .byte 6 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -1 + .byte 15 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte -40 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -95 + .byte 5 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte -65 + .byte 78 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte -13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte 1 + .byte 13 + .byte -91 + .byte -91 + .byte -76 + .byte -31 + .byte 34 + .byte 79 + .byte 52 + .byte 93 + .byte 35 + .byte 68 + .byte 86 + .byte -91 + .byte -25 + .byte 78 + .byte -6 + .byte 83 + .byte 123 + .byte -57 + .byte 37 + .byte 43 + .byte 55 + .byte 58 + .byte -120 + .byte 24 + .byte -127 + .byte 126 + .byte 5 + .byte -60 + .byte -97 + .byte -9 + .byte -72 + .byte -80 + .byte -91 + .byte 6 + .byte -76 + .byte 5 + .byte 34 + .byte 9 + .byte 52 + .byte 1 + .byte 35 + .byte 11 + .byte 86 + .byte 3 + .byte -25 + .byte 9 + .byte -6 + .byte 5 + .byte 123 + .byte 6 + .byte 37 + .byte 12 + .byte 55 + .byte 5 + .byte -120 + .byte 0 + .byte -127 + .byte 11 + .byte 5 + .byte 5 + .byte -97 + .byte 10 + .byte -72 + .byte 8 + .byte 15 + .byte 68 + .byte 67 + .byte -94 + .byte 29 + .byte -112 + .byte 108 + .byte -124 + .byte 102 + .byte -43 + .byte -26 + .byte 87 + .byte -2 + .byte 30 + .byte -95 + .byte -41 + .byte -93 + .byte -67 + .byte 106 + .byte -95 + .byte 63 + .byte -43 + .byte -65 + .byte 81 + .byte -71 + .byte -96 + .byte -41 + .byte 28 + .byte -90 + .byte -100 + .byte -48 + .byte 121 + .byte 15 + .byte 7 + .byte 67 + .byte 9 + .byte 29 + .byte 9 + .byte 108 + .byte 0 + .byte 102 + .byte 3 + .byte -26 + .byte 5 + .byte -2 + .byte 4 + .byte -95 + .byte 4 + .byte -93 + .byte 4 + .byte 106 + .byte 3 + .byte 63 + .byte 8 + .byte -65 + .byte 4 + .byte -71 + .byte 5 + .byte -41 + .byte 7 + .byte -90 + .byte 10 + .byte -48 + .byte 9 + .byte -5 + .byte 69 + .byte 92 + .byte 94 + .byte 41 + .byte -17 + .byte 65 + .byte -66 + .byte -43 + .byte 49 + .byte -28 + .byte 113 + .byte 64 + .byte -55 + .byte -114 + .byte -53 + .byte -73 + .byte -72 + .byte -9 + .byte 117 + .byte -115 + .byte -36 + .byte -106 + .byte 110 + .byte -61 + .byte 34 + .byte 15 + .byte 62 + .byte 90 + .byte 110 + .byte 85 + .byte -78 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 35 + .byte 63 + .byte 35 + .byte 63 + .byte -51 + .byte -105 + .byte -51 + .byte -105 + .byte 102 + .byte -35 + .byte 102 + .byte -35 + .byte 6 + .byte -72 + .byte 6 + .byte -72 + .byte -95 + .byte -35 + .byte -95 + .byte -35 + .byte 37 + .byte 41 + .byte 37 + .byte 41 + .byte 8 + .byte -95 + .byte 8 + .byte -95 + .byte -87 + .byte 109 + .byte -87 + .byte 109 + .byte 35 + .byte 6 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -87 + .byte 2 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte 69 + .byte -122 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -62 + .byte 43 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte -78 + .byte -6 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 63 + .byte -42 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 63 + .byte 9 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte 55 + .byte 65 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte -30 + .byte -111 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -30 + .byte 11 + .byte -19 + .byte -4 + .byte -19 + .byte -4 + .byte -19 + .byte 5 + .byte -19 + .byte 5 + .byte 75 + .byte 49 + .byte -72 + .byte -77 + .byte -92 + .byte -73 + .byte 125 + .byte -79 + .byte -94 + .byte -50 + .byte 54 + .byte 73 + .byte -109 + .byte -119 + .byte -9 + .byte 126 + .byte -116 + .byte -22 + .byte -52 + .byte -91 + .byte -21 + .byte 17 + .byte -74 + .byte -52 + .byte -104 + .byte 84 + .byte -102 + .byte 55 + .byte -74 + .byte -53 + .byte 83 + .byte -44 + .byte 75 + .byte 0 + .byte -72 + .byte 11 + .byte -92 + .byte 11 + .byte 125 + .byte 10 + .byte -94 + .byte 8 + .byte 54 + .byte 7 + .byte -109 + .byte 0 + .byte -9 + .byte 9 + .byte -116 + .byte 6 + .byte -52 + .byte 1 + .byte -21 + .byte 0 + .byte -74 + .byte 10 + .byte -104 + .byte 12 + .byte -102 + .byte 9 + .byte -74 + .byte 9 + .byte 83 + .byte 11 + .byte -100 + .byte 20 + .byte 95 + .byte 56 + .byte 104 + .byte -69 + .byte 54 + .byte 72 + .byte 90 + .byte 112 + .byte 9 + .byte -114 + .byte 122 + .byte -42 + .byte -10 + .byte -126 + .byte -37 + .byte -25 + .byte 35 + .byte 58 + .byte 80 + .byte -4 + .byte 91 + .byte 108 + .byte -13 + .byte -81 + .byte -29 + .byte 125 + .byte -42 + .byte 44 + .byte 79 + .byte 1 + .byte -100 + .byte 0 + .byte 95 + .byte 11 + .byte 104 + .byte 3 + .byte 54 + .byte 6 + .byte 90 + .byte 2 + .byte 9 + .byte 3 + .byte 122 + .byte 8 + .byte -10 + .byte 0 + .byte -37 + .byte 6 + .byte 35 + .byte 1 + .byte 80 + .byte 12 + .byte 91 + .byte 11 + .byte -13 + .byte 6 + .byte -29 + .byte 4 + .byte -42 + .byte 10 + .byte 79 + .byte 4 + .byte 68 + .byte -109 + .byte -125 + .byte 101 + .byte -118 + .byte 2 + .byte 82 + .byte -36 + .byte -102 + .byte 48 + .byte 64 + .byte -63 + .byte 8 + .byte -104 + .byte -3 + .byte 49 + .byte 8 + .byte -98 + .byte 26 + .byte -81 + .byte 46 + .byte -79 + .byte 13 + .byte 92 + .byte 10 + .byte -121 + .byte 40 + .byte -6 + .byte 117 + .byte 25 + .byte 58 + .byte 22 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte -126 + .byte 102 + .byte -126 + .byte 102 + .byte 66 + .byte -84 + .byte 66 + .byte -84 + .byte 79 + .byte 4 + .byte 79 + .byte 4 + .byte 61 + .byte -22 + .byte 61 + .byte -22 + .byte -126 + .byte 113 + .byte -126 + .byte 113 + .byte -7 + .byte 102 + .byte -7 + .byte 102 + .byte 45 + .byte -68 + .byte 45 + .byte -68 + .byte -60 + .byte 22 + .byte -60 + .byte 22 + .byte -126 + .byte 0 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte -60 + .byte 10 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte 75 + .byte 61 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -40 + .byte 14 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -109 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte -85 + .byte 81 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte -85 + .byte 0 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 115 + .byte 48 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 44 + .byte -53 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 44 + .byte 7 + .byte 103 + .byte -58 + .byte 103 + .byte -58 + .byte 103 + .byte 1 + .byte 103 + .byte 1 + .byte -116 + .byte -21 + .byte -116 + .byte -21 + .byte -116 + .byte 7 + .byte -116 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 11 + .byte 123 + .byte 11 + .byte 123 + .byte 11 + .byte 10 + .byte 11 + .byte 10 + .byte -102 + .byte 57 + .byte -102 + .byte 57 + .byte -102 + .byte 11 + .byte -102 + .byte 11 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -43 + .byte 52 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -114 + .byte -49 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte -114 + .byte 5 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 86 + .byte -82 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 110 + .byte 108 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte 41 + .byte -15 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte -74 + .byte -62 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte -74 + .byte 0 + .byte 61 + .byte -23 + .byte 61 + .byte -23 + .byte -44 + .byte 67 + .byte -44 + .byte 67 + .byte 8 + .byte -103 + .byte 8 + .byte -103 + .byte 127 + .byte -114 + .byte 127 + .byte -114 + .byte -60 + .byte 21 + .byte -60 + .byte 21 + .byte -78 + .byte -5 + .byte -78 + .byte -5 + .byte -65 + .byte 83 + .byte -65 + .byte 83 + .byte 127 + .byte -103 + .byte 127 + .byte -103 + .byte 61 + .byte 2 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 127 + .byte 12 + .byte -57 + .byte -23 + .byte -116 + .byte -26 + .byte -39 + .byte 5 + .byte -9 + .byte 120 + .byte -12 + .byte -93 + .byte -45 + .byte 78 + .byte -25 + .byte 80 + .byte -7 + .byte 97 + .byte 4 + .byte -50 + .byte -7 + .byte 103 + .byte -63 + .byte 62 + .byte 103 + .byte -49 + .byte -81 + .byte 35 + .byte 119 + .byte -3 + .byte 126 + .byte -102 + .byte -67 + .byte 108 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -78 + .byte -2 + .byte 43 + .byte -45 + .byte 30 + .byte -126 + .byte 14 + .byte 80 + .byte -90 + .byte -109 + .byte -79 + .byte 3 + .byte -34 + .byte -59 + .byte 38 + .byte 24 + .byte 11 + .byte 125 + .byte -121 + .byte 41 + .byte -8 + .byte 113 + .byte -89 + .byte -113 + .byte -53 + .byte -73 + .byte -103 + .byte 68 + .byte -94 + .byte -57 + .byte 101 + .byte -21 + .byte -78 + .byte 8 + .byte 43 + .byte 2 + .byte 30 + .byte 8 + .byte 14 + .byte 6 + .byte -90 + .byte 1 + .byte -79 + .byte 0 + .byte -34 + .byte 11 + .byte 38 + .byte 6 + .byte 11 + .byte 12 + .byte -121 + .byte 4 + .byte -8 + .byte 9 + .byte -89 + .byte 10 + .byte -53 + .byte 6 + .byte -103 + .byte 9 + .byte -94 + .byte 1 + .byte 101 + .byte 12 + .byte -82 + .byte 43 + .byte 75 + .byte 52 + .byte 103 + .byte -56 + .byte 105 + .byte -85 + .byte 75 + .byte 51 + .byte 22 + .byte -18 + .byte 53 + .byte 90 + .byte 117 + .byte 21 + .byte 10 + .byte -127 + .byte 110 + .byte 118 + .byte -53 + .byte -74 + .byte 95 + .byte 49 + .byte -124 + .byte 78 + .byte 93 + .byte 72 + .byte 73 + .byte 76 + .byte -74 + .byte -50 + .byte -82 + .byte 1 + .byte 75 + .byte 3 + .byte 103 + .byte 3 + .byte 105 + .byte 0 + .byte 75 + .byte 2 + .byte 22 + .byte 12 + .byte 53 + .byte 11 + .byte 117 + .byte 6 + .byte 10 + .byte 3 + .byte 110 + .byte 12 + .byte -53 + .byte 5 + .byte 95 + .byte 4 + .byte -124 + .byte 2 + .byte 93 + .byte 1 + .byte 73 + .byte 1 + .byte -74 + .byte 12 + .byte 20 + .byte 3 + .byte 20 + .byte 3 + .byte 20 + .byte 7 + .byte 20 + .byte 7 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte 31 + .byte 110 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte -54 + .byte -66 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -54 + .byte 0 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte -62 + .byte 41 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 79 + .byte 5 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte 63 + .byte -44 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -68 + .byte 121 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte -68 + .byte 5 + .byte 88 + .byte -110 + .byte 88 + .byte -110 + .byte -7 + .byte 94 + .byte -7 + .byte 94 + .byte -36 + .byte -42 + .byte -36 + .byte -42 + .byte 96 + .byte 34 + .byte 96 + .byte 34 + .byte -5 + .byte 71 + .byte -5 + .byte 71 + .byte -101 + .byte 34 + .byte -101 + .byte 34 + .byte 52 + .byte 104 + .byte 52 + .byte 104 + .byte -34 + .byte -64 + .byte -34 + .byte -64 + .byte 88 + .byte 10 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -34 + .byte 6 + .byte -84 + .byte 77 + .byte -89 + .byte -111 + .byte -14 + .byte -63 + .byte 62 + .byte -35 + .byte 107 + .byte -111 + .byte 116 + .byte 35 + .byte 10 + .byte -118 + .byte 74 + .byte 71 + .byte 115 + .byte 52 + .byte -63 + .byte 54 + .byte 29 + .byte -114 + .byte 44 + .byte -50 + .byte -64 + .byte 65 + .byte -40 + .byte 16 + .byte -91 + .byte -95 + .byte 6 + .byte -70 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte 49 + .byte -122 + .byte 91 + .byte 99 + .byte 42 + .byte -29 + .byte 72 + .byte 95 + .byte 66 + .byte -82 + .byte -62 + .byte 42 + .byte -105 + .byte 94 + .byte 94 + .byte 66 + .byte 96 + .byte 40 + .byte 3 + .byte -31 + .byte 27 + .byte -88 + .byte -101 + .byte 42 + .byte -107 + .byte 123 + .byte -28 + .byte 111 + .byte -66 + .byte 93 + .byte -14 + .byte -69 + .byte 49 + .byte 3 + .byte 91 + .byte 2 + .byte 42 + .byte 5 + .byte 72 + .byte 7 + .byte 66 + .byte 8 + .byte -62 + .byte 4 + .byte -105 + .byte 9 + .byte 94 + .byte 8 + .byte 96 + .byte 8 + .byte 3 + .byte 8 + .byte 27 + .byte 7 + .byte -101 + .byte 9 + .byte -107 + .byte 12 + .byte -28 + .byte 3 + .byte -66 + .byte 3 + .byte -14 + .byte 5 + .byte 73 + .byte 79 + .byte 98 + .byte 8 + .byte -4 + .byte 59 + .byte -128 + .byte -127 + .byte 121 + .byte -25 + .byte -54 + .byte -59 + .byte -36 + .byte -44 + .byte -122 + .byte 56 + .byte 7 + .byte -84 + .byte 26 + .byte -79 + .byte -85 + .byte 90 + .byte -34 + .byte -69 + .byte -51 + .byte -94 + .byte -33 + .byte -80 + .byte 77 + .byte 30 + .byte 92 + .byte 90 + .byte 73 + .byte 4 + .byte 98 + .byte 2 + .byte -4 + .byte 7 + .byte -128 + .byte 1 + .byte 121 + .byte 12 + .byte -54 + .byte 7 + .byte -36 + .byte 0 + .byte -122 + .byte 6 + .byte 7 + .byte 7 + .byte 26 + .byte 3 + .byte -85 + .byte 9 + .byte -34 + .byte 1 + .byte -51 + .byte 11 + .byte -33 + .byte 3 + .byte 77 + .byte 7 + .byte 92 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 7 + .byte 0 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 15 + .byte 8 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 23 + .byte 16 + .byte 17 + .byte 18 + .byte 19 + .byte 20 + .byte 21 + .byte 22 + .byte 31 + .byte 24 + .byte 25 + .byte 26 + .byte 27 + .byte 28 + .byte 29 + .byte 30 + .byte 1 + .byte 2 + .byte 3 + .byte 4 + .byte 5 + .byte 6 + .byte 7 + .byte 0 + .byte 9 + .byte 10 + .byte 11 + .byte 12 + .byte 13 + .byte 14 + .byte 15 + .byte 8 + .byte 17 + .byte 18 + .byte 19 + .byte 20 + .byte 21 + .byte 22 + .byte 23 + .byte 16 + .byte 25 + .byte 26 + .byte 27 + .byte 28 + .byte 29 + .byte 30 + .byte 31 + .byte 24 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 61 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 46 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 28 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 23 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 63 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 36 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 37 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 19 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 58 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 54 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 56 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 62 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 49 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 39 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 44 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 43 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 50 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 18 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 36 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 41 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 62 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 28 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 27 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 45 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 56 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 39 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 61 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 55 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 15 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 44 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 43 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 14 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 1 + .byte 4 + .byte 5 + .byte 8 + .byte 9 + .byte 12 + .byte 13 + .byte 2 + .byte 3 + .byte 6 + .byte 7 + .byte 10 + .byte 11 + .byte 14 + .byte 15 + .byte 3 + .byte 0 + .byte 0 + .byte 0 + .byte 2 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte -1 + .byte -1 + .byte -1 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte -1 + .byte -1 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte -1 + .byte -1 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte -1 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 14 + .byte -1 + .byte -1 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 14 + .byte -1 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 12 + .byte 14 + .byte -1 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 2 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte -1 + .byte 0 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte -1 + .byte 0 + .byte 2 + .byte 4 + .byte 6 + .byte 8 + .byte 10 + .byte 12 + .byte 14 + .byte 12 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 4 + .byte 1 + .byte 0 + .byte 0 + .byte 4 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 4 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 5 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 6 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 7 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 24 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 13 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 18 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 23 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 16 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 25 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 22 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 15 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 11 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 12 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 21 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 26 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 19 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 20 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 17 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 14 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 27 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -8 + .byte 31 + .byte -32 + .byte 127 + .byte 4 + .byte 52 + .byte 1 + .byte 13 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte 15 + .byte 0 + .byte -16 + .byte 0 + .byte -1 + .byte 15 + .byte -1 + .byte 3 + .byte 0 + .byte 16 + .byte 15 + .byte 0 + .byte 1 + .byte 16 + .byte 15 + .byte 0 + .byte 0 + .byte 2 + .byte 1 + .byte 0 + .byte 1 + .byte 2 + .byte -1 + .byte 3 + .byte 4 + .byte 5 + .byte -1 + .byte 6 + .byte 7 + .byte 8 + .byte -1 + .byte 9 + .byte 10 + .byte 11 + .byte -1 + .byte 4 + .byte 5 + .byte 6 + .byte -1 + .byte 7 + .byte 8 + .byte 9 + .byte -1 + .byte 10 + .byte 11 + .byte 12 + .byte -1 + .byte 13 + .byte 14 + .byte 15 + .byte -1 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -5 + .byte 58 + .byte -91 + .byte 6 + .byte 15 + .byte 7 + .byte -76 + .byte 5 + .byte 67 + .byte 9 + .byte 34 + .byte 9 + .byte 29 + .byte 9 + .byte 52 + .byte 1 + .byte 108 + .byte 0 + .byte 35 + .byte 11 + .byte 102 + .byte 3 + .byte 86 + .byte 3 + .byte -26 + .byte 5 + .byte -25 + .byte 9 + .byte -2 + .byte 4 + .byte -6 + .byte 5 + .byte -95 + .byte 4 + .byte 123 + .byte 6 + .byte -93 + .byte 4 + .byte 37 + .byte 12 + .byte 106 + .byte 3 + .byte 55 + .byte 5 + .byte 63 + .byte 8 + .byte -120 + .byte 0 + .byte -65 + .byte 4 + .byte -127 + .byte 11 + .byte -71 + .byte 5 + .byte 5 + .byte 5 + .byte -41 + .byte 7 + .byte -97 + .byte 10 + .byte -90 + .byte 10 + .byte -72 + .byte 8 + .byte -48 + .byte 9 + .byte 75 + .byte 0 + .byte -100 + .byte 0 + .byte -72 + .byte 11 + .byte 95 + .byte 11 + .byte -92 + .byte 11 + .byte 104 + .byte 3 + .byte 125 + .byte 10 + .byte 54 + .byte 6 + .byte -94 + .byte 8 + .byte 90 + .byte 2 + .byte 54 + .byte 7 + .byte 9 + .byte 3 + .byte -109 + .byte 0 + .byte 122 + .byte 8 + .byte -9 + .byte 9 + .byte -10 + .byte 0 + .byte -116 + .byte 6 + .byte -37 + .byte 6 + .byte -52 + .byte 1 + .byte 35 + .byte 1 + .byte -21 + .byte 0 + .byte 80 + .byte 12 + .byte -74 + .byte 10 + .byte 91 + .byte 11 + .byte -104 + .byte 12 + .byte -13 + .byte 6 + .byte -102 + .byte 9 + .byte -29 + .byte 4 + .byte -74 + .byte 9 + .byte -42 + .byte 10 + .byte 83 + .byte 11 + .byte 79 + .byte 4 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte -19 + .byte 5 + .byte 103 + .byte 1 + .byte -10 + .byte 2 + .byte -95 + .byte 5 + .byte -19 + .byte 8 + .byte 11 + .byte 10 + .byte -102 + .byte 11 + .byte 20 + .byte 7 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte -78 + .byte 8 + .byte -82 + .byte 1 + .byte 43 + .byte 2 + .byte 75 + .byte 3 + .byte 30 + .byte 8 + .byte 103 + .byte 3 + .byte 14 + .byte 6 + .byte 105 + .byte 0 + .byte -90 + .byte 1 + .byte 75 + .byte 2 + .byte -79 + .byte 0 + .byte 22 + .byte 12 + .byte -34 + .byte 11 + .byte 53 + .byte 11 + .byte 38 + .byte 6 + .byte 117 + .byte 6 + .byte 11 + .byte 12 + .byte 10 + .byte 3 + .byte -121 + .byte 4 + .byte 110 + .byte 12 + .byte -8 + .byte 9 + .byte -53 + .byte 5 + .byte -89 + .byte 10 + .byte 95 + .byte 4 + .byte -53 + .byte 6 + .byte -124 + .byte 2 + .byte -103 + .byte 9 + .byte 93 + .byte 1 + .byte -94 + .byte 1 + .byte 73 + .byte 1 + .byte 101 + .byte 12 + .byte -74 + .byte 12 + .byte 49 + .byte 3 + .byte 73 + .byte 4 + .byte 91 + .byte 2 + .byte 98 + .byte 2 + .byte 42 + .byte 5 + .byte -4 + .byte 7 + .byte 72 + .byte 7 + .byte -128 + .byte 1 + .byte 66 + .byte 8 + .byte 121 + .byte 12 + .byte -62 + .byte 4 + .byte -54 + .byte 7 + .byte -105 + .byte 9 + .byte -36 + .byte 0 + .byte 94 + .byte 8 + .byte -122 + .byte 6 + .byte 96 + .byte 8 + .byte 7 + .byte 7 + .byte 3 + .byte 8 + .byte 26 + .byte 3 + .byte 27 + .byte 7 + .byte -85 + .byte 9 + .byte -101 + .byte 9 + .byte -34 + .byte 1 + .byte -107 + .byte 12 + .byte -51 + .byte 11 + .byte -28 + .byte 3 + .byte -33 + .byte 3 + .byte -66 + .byte 3 + .byte 77 + .byte 7 + .byte -14 + .byte 5 + .byte 92 + .byte 6 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 diff --git a/src/kem/kyber/libjade_kyber768_ref/api.c b/src/kem/kyber/libjade_kyber768_ref/api.c new file mode 100644 index 000000000..bacb123a5 --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_ref/api.c @@ -0,0 +1,19 @@ +#include +#include "api.h" + +int libjade_kyber768_ref_keypair(uint8_t *public_key, uint8_t *secret_key) { + uint8_t keypair_coins[JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES]; + OQS_randombytes(keypair_coins, JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2); + OQS_randombytes((uint8_t *)(keypair_coins + (JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2)), JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES/2); + return jade_kem_kyber_kyber768_amd64_ref_keypair_derand(public_key, secret_key, keypair_coins); +} + +int libjade_kyber768_ref_enc(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) { + uint8_t enc_coins[JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES]; + OQS_randombytes(enc_coins, JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES); + return jade_kem_kyber_kyber768_amd64_ref_enc_derand(ciphertext, shared_secret, public_key, enc_coins); +} + +int libjade_kyber768_ref_dec(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) { + return jade_kem_kyber_kyber768_amd64_ref_dec(shared_secret, ciphertext, secret_key); +} diff --git a/src/kem/kyber/libjade_kyber768_ref/api.h b/src/kem/kyber/libjade_kyber768_ref/api.h new file mode 100644 index 000000000..0c453e07e --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_ref/api.h @@ -0,0 +1,45 @@ +#ifndef JADE_KEM_kyber_kyber768_amd64_ref_API_H +#define JADE_KEM_kyber_kyber768_amd64_ref_API_H + +#include + +#define JADE_KEM_kyber_kyber768_amd64_ref_KEYPAIRCOINBYTES 64 +#define JADE_KEM_kyber_kyber768_amd64_ref_ENCCOINBYTES 32 + +int jade_kem_kyber_kyber768_amd64_ref_keypair_derand( + uint8_t *public_key, + uint8_t *secret_key, + const uint8_t *coins +); + +int libjade_kyber768_ref_keypair( + uint8_t *public_key, + uint8_t *secret_key +); + +int jade_kem_kyber_kyber768_amd64_ref_enc_derand( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key, + const uint8_t *coins +); + +int libjade_kyber768_ref_enc( + uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key +); + +int jade_kem_kyber_kyber768_amd64_ref_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +int libjade_kyber768_ref_dec( + uint8_t *shared_secret, + const uint8_t *ciphertext, + const uint8_t *secret_key +); + +#endif diff --git a/src/kem/kyber/libjade_kyber768_ref/kem.S b/src/kem/kyber/libjade_kyber768_ref/kem.S new file mode 100644 index 000000000..e898b68b8 --- /dev/null +++ b/src/kem/kyber/libjade_kyber768_ref/kem.S @@ -0,0 +1,18929 @@ + .att_syntax + .text + .p2align 5 + .globl _jade_kem_kyber_kyber768_amd64_ref_dec + .globl jade_kem_kyber_kyber768_amd64_ref_dec + .globl _jade_kem_kyber_kyber768_amd64_ref_enc + .globl jade_kem_kyber_kyber768_amd64_ref_enc + .globl _jade_kem_kyber_kyber768_amd64_ref_enc_derand + .globl jade_kem_kyber_kyber768_amd64_ref_enc_derand + .globl _jade_kem_kyber_kyber768_amd64_ref_keypair + .globl jade_kem_kyber_kyber768_amd64_ref_keypair + .globl _jade_kem_kyber_kyber768_amd64_ref_keypair_derand + .globl jade_kem_kyber_kyber768_amd64_ref_keypair_derand +_jade_kem_kyber_kyber768_amd64_ref_dec: +jade_kem_kyber_kyber768_amd64_ref_dec: + movq %rsp, %rax + leaq -14560(%rsp), %rsp + andq $-8, %rsp + movq %rax, 14552(%rsp) + movq %r15, 14504(%rsp) + movq %r14, 14512(%rsp) + movq %r13, 14520(%rsp) + movq %r12, 14528(%rsp) + movq %rbp, 14536(%rsp) + movq %rbx, 14544(%rsp) + movq %rdi, (%rsp) + movq %rsi, 8(%rsp) + leaq 80(%rsp), %rax + movq $0, %rcx + movq $0, %rdi + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$225 +Ljade_kem_kyber_kyber768_amd64_ref_dec$226: + movzbl (%rsi,%rdi), %r10d + incq %rdi + movzbl (%rsi,%rdi), %r11d + incq %rdi + movzbl (%rsi,%rdi), %r8d + incq %rdi + movzbl (%rsi,%rdi), %r9d + incq %rdi + movzbl (%rsi,%rdi), %ebx + incq %rdi + movl %r11d, %ebp + shrl $2, %r11d + andl $3, %ebp + shll $8, %ebp + orl %ebp, %r10d + movl %r8d, %ebp + shrl $4, %r8d + andl $15, %ebp + shll $6, %ebp + orl %ebp, %r11d + movl %r9d, %ebp + shrl $6, %r9d + andl $63, %ebp + shll $4, %ebp + orl %ebp, %r8d + shll $2, %ebx + orl %ebx, %r9d + imull $3329, %r10d, %r10d + addl $512, %r10d + shrl $10, %r10d + movw %r10w, 2456(%rsp,%rcx,2) + incq %rcx + imull $3329, %r11d, %r10d + addl $512, %r10d + shrl $10, %r10d + movw %r10w, 2456(%rsp,%rcx,2) + incq %rcx + imull $3329, %r8d, %r8d + addl $512, %r8d + shrl $10, %r8d + movw %r8w, 2456(%rsp,%rcx,2) + incq %rcx + imull $3329, %r9d, %r8d + addl $512, %r8d + shrl $10, %r8d + movw %r8w, 2456(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$225: + cmpq $768, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$226 + addq $960, %rsi + leaq 920(%rsp), %rcx + call L_poly_decompress$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$224: + movq %rdx, %rsi + leaq 3992(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$223: + addq $384, %rsi + leaq 4504(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$222: + addq $384, %rsi + leaq 5016(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$221: + leaq 2456(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$220: + leaq 2968(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$219: + leaq 3480(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$218: + leaq 408(%rsp), %rdi + leaq 3992(%rsp), %rcx + leaq 2456(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$217: + leaq 16(%rsp), %rsp + leaq 1432(%rsp), %rdi + leaq 4504(%rsp), %rcx + leaq 2968(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$216: + leaq 16(%rsp), %rsp + leaq 408(%rsp), %rcx + leaq 1432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$215: + leaq 1432(%rsp), %rdi + leaq 5016(%rsp), %rcx + leaq 3480(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$214: + leaq 16(%rsp), %rsp + leaq 408(%rsp), %rcx + leaq 1432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$213: + leaq 408(%rsp), %rcx + movq $0, %rsi + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$211 +Ljade_kem_kyber_kyber768_amd64_ref_dec$212: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +Ljade_kem_kyber_kyber768_amd64_ref_dec$211: + cmpq $256, %rsi + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$212 + leaq 408(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$210: + leaq 1432(%rsp), %rcx + leaq 920(%rsp), %rsi + leaq 408(%rsp), %rdi + call L_poly_sub$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$209: + leaq 1432(%rsp), %rcx + movq $0, %rsi + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$207 +Ljade_kem_kyber_kyber768_amd64_ref_dec$208: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +Ljade_kem_kyber_kyber768_amd64_ref_dec$207: + cmpq $256, %rsi + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$208 + leaq 1432(%rsp), %rcx + call L_i_poly_tomsg$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$206: + leaq 32(%rdx), %rax + addq $2304, %rax + movq (%rax), %rcx + movq %rcx, 112(%rsp) + movq 8(%rax), %rcx + movq %rcx, 120(%rsp) + movq 16(%rax), %rcx + movq %rcx, 128(%rsp) + movq 24(%rax), %rax + movq %rax, 136(%rsp) + movq %rdx, 16(%rsp) + leaq 144(%rsp), %rax + leaq 80(%rsp), %rdx + leaq -208(%rsp), %rsp + call L_sha3_512_64$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$205: + leaq 208(%rsp), %rsp + movq 16(%rsp), %rdx + addq $1152, %rdx + leaq 13410(%rsp), %rsi + leaq 80(%rsp), %rcx + leaq 176(%rsp), %rax + movq %rsi, 24(%rsp) + movq %rdx, %rsi + leaq 2456(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$204: + addq $384, %rsi + leaq 2968(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$203: + addq $384, %rsi + leaq 3480(%rsp), %rdi + call L_poly_frombytes$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$202: + movq $0, %rsi + addq $1152, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$200 +Ljade_kem_kyber_kyber768_amd64_ref_dec$201: + movq (%rdx), %rdi + movq %rdi, 48(%rsp,%rsi,8) + addq $8, %rdx + incq %rsi +Ljade_kem_kyber_kyber768_amd64_ref_dec$200: + cmpq $4, %rsi + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$201 + leaq 1432(%rsp), %rdx + call L_i_poly_frommsg$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$199: + movq $1, %rcx + movq %rcx, 32(%rsp) + movb 48(%rsp), %cl + movb %cl, 13208(%rsp) + movb 49(%rsp), %cl + movb %cl, 13209(%rsp) + movb 50(%rsp), %cl + movb %cl, 13210(%rsp) + movb 51(%rsp), %cl + movb %cl, 13211(%rsp) + movb 52(%rsp), %cl + movb %cl, 13212(%rsp) + movb 53(%rsp), %cl + movb %cl, 13213(%rsp) + movb 54(%rsp), %cl + movb %cl, 13214(%rsp) + movb 55(%rsp), %cl + movb %cl, 13215(%rsp) + movb 56(%rsp), %cl + movb %cl, 13216(%rsp) + movb 57(%rsp), %cl + movb %cl, 13217(%rsp) + movb 58(%rsp), %cl + movb %cl, 13218(%rsp) + movb 59(%rsp), %cl + movb %cl, 13219(%rsp) + movb 60(%rsp), %cl + movb %cl, 13220(%rsp) + movb 61(%rsp), %cl + movb %cl, 13221(%rsp) + movb 62(%rsp), %cl + movb %cl, 13222(%rsp) + movb 63(%rsp), %cl + movb %cl, 13223(%rsp) + movb 64(%rsp), %cl + movb %cl, 13224(%rsp) + movb 65(%rsp), %cl + movb %cl, 13225(%rsp) + movb 66(%rsp), %cl + movb %cl, 13226(%rsp) + movb 67(%rsp), %cl + movb %cl, 13227(%rsp) + movb 68(%rsp), %cl + movb %cl, 13228(%rsp) + movb 69(%rsp), %cl + movb %cl, 13229(%rsp) + movb 70(%rsp), %cl + movb %cl, 13230(%rsp) + movb 71(%rsp), %cl + movb %cl, 13231(%rsp) + movb 72(%rsp), %cl + movb %cl, 13232(%rsp) + movb 73(%rsp), %cl + movb %cl, 13233(%rsp) + movb 74(%rsp), %cl + movb %cl, 13234(%rsp) + movb 75(%rsp), %cl + movb %cl, 13235(%rsp) + movb 76(%rsp), %cl + movb %cl, 13236(%rsp) + movb 77(%rsp), %cl + movb %cl, 13237(%rsp) + movb 78(%rsp), %cl + movb %cl, 13238(%rsp) + movb 79(%rsp), %cl + movb %cl, 13239(%rsp) + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$197 + movb $0, 13240(%rsp) + movb $0, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$198 +Ljade_kem_kyber_kyber768_amd64_ref_dec$197: + movb $0, 13240(%rsp) + movb $0, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$198: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$196: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$194 +Ljade_kem_kyber_kyber768_amd64_ref_dec$195: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$194: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$195 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$186 +Ljade_kem_kyber_kyber768_amd64_ref_dec$187: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$193: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$188: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$191 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$191 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$192: +Ljade_kem_kyber_kyber768_amd64_ref_dec$191: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$189 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$189 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$190: +Ljade_kem_kyber_kyber768_amd64_ref_dec$189: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$188 +Ljade_kem_kyber_kyber768_amd64_ref_dec$186: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$187 + movq $0, %rcx + movq $0, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$184 +Ljade_kem_kyber_kyber768_amd64_ref_dec$185: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$184: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$185 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$182 + movb $0, 13240(%rsp) + movb $1, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$183 +Ljade_kem_kyber_kyber768_amd64_ref_dec$182: + movb $1, 13240(%rsp) + movb $0, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$183: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$181: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$179 +Ljade_kem_kyber_kyber768_amd64_ref_dec$180: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$179: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$180 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$171 +Ljade_kem_kyber_kyber768_amd64_ref_dec$172: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$178: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$173: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$176 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$176 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$177: +Ljade_kem_kyber_kyber768_amd64_ref_dec$176: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$174 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$174 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$175: +Ljade_kem_kyber_kyber768_amd64_ref_dec$174: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$173 +Ljade_kem_kyber_kyber768_amd64_ref_dec$171: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$172 + movq $0, %rcx + movq $256, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$169 +Ljade_kem_kyber_kyber768_amd64_ref_dec$170: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$169: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$170 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$167 + movb $0, 13240(%rsp) + movb $2, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$168 +Ljade_kem_kyber_kyber768_amd64_ref_dec$167: + movb $2, 13240(%rsp) + movb $0, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$168: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$166: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$164 +Ljade_kem_kyber_kyber768_amd64_ref_dec$165: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$164: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$165 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$156 +Ljade_kem_kyber_kyber768_amd64_ref_dec$157: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$163: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$158: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$161 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$161 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$162: +Ljade_kem_kyber_kyber768_amd64_ref_dec$161: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$159 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$159 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$160: +Ljade_kem_kyber_kyber768_amd64_ref_dec$159: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$158 +Ljade_kem_kyber_kyber768_amd64_ref_dec$156: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$157 + movq $0, %rcx + movq $512, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$154 +Ljade_kem_kyber_kyber768_amd64_ref_dec$155: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$154: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$155 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$152 + movb $1, 13240(%rsp) + movb $0, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$153 +Ljade_kem_kyber_kyber768_amd64_ref_dec$152: + movb $0, 13240(%rsp) + movb $1, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$153: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$151: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$149 +Ljade_kem_kyber_kyber768_amd64_ref_dec$150: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$149: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$150 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$141 +Ljade_kem_kyber_kyber768_amd64_ref_dec$142: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$148: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$143: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$146 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$146 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$147: +Ljade_kem_kyber_kyber768_amd64_ref_dec$146: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$144 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$144 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$145: +Ljade_kem_kyber_kyber768_amd64_ref_dec$144: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$143 +Ljade_kem_kyber_kyber768_amd64_ref_dec$141: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$142 + movq $0, %rcx + movq $768, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$139 +Ljade_kem_kyber_kyber768_amd64_ref_dec$140: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$139: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$140 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$137 + movb $1, 13240(%rsp) + movb $1, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$138 +Ljade_kem_kyber_kyber768_amd64_ref_dec$137: + movb $1, 13240(%rsp) + movb $1, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$138: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$136: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$134 +Ljade_kem_kyber_kyber768_amd64_ref_dec$135: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$134: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$135 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$126 +Ljade_kem_kyber_kyber768_amd64_ref_dec$127: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$133: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$128: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$131 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$131 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$132: +Ljade_kem_kyber_kyber768_amd64_ref_dec$131: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$129 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$129 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$130: +Ljade_kem_kyber_kyber768_amd64_ref_dec$129: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$128 +Ljade_kem_kyber_kyber768_amd64_ref_dec$126: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$127 + movq $0, %rcx + movq $1024, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$124 +Ljade_kem_kyber_kyber768_amd64_ref_dec$125: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$124: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$125 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$122 + movb $1, 13240(%rsp) + movb $2, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$123 +Ljade_kem_kyber_kyber768_amd64_ref_dec$122: + movb $2, 13240(%rsp) + movb $1, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$123: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$121: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$119 +Ljade_kem_kyber_kyber768_amd64_ref_dec$120: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$119: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$120 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$111 +Ljade_kem_kyber_kyber768_amd64_ref_dec$112: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$118: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$113: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$116 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$116 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$117: +Ljade_kem_kyber_kyber768_amd64_ref_dec$116: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$114 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$114 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$115: +Ljade_kem_kyber_kyber768_amd64_ref_dec$114: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$113 +Ljade_kem_kyber_kyber768_amd64_ref_dec$111: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$112 + movq $0, %rcx + movq $1280, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$109 +Ljade_kem_kyber_kyber768_amd64_ref_dec$110: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$109: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$110 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$107 + movb $2, 13240(%rsp) + movb $0, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$108 +Ljade_kem_kyber_kyber768_amd64_ref_dec$107: + movb $0, 13240(%rsp) + movb $2, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$108: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$106: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$104 +Ljade_kem_kyber_kyber768_amd64_ref_dec$105: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$104: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$105 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$96 +Ljade_kem_kyber_kyber768_amd64_ref_dec$97: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$103: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$98: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$101 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$101 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$102: +Ljade_kem_kyber_kyber768_amd64_ref_dec$101: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$99 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$99 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$100: +Ljade_kem_kyber_kyber768_amd64_ref_dec$99: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$98 +Ljade_kem_kyber_kyber768_amd64_ref_dec$96: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$97 + movq $0, %rcx + movq $1536, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$94 +Ljade_kem_kyber_kyber768_amd64_ref_dec$95: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$94: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$95 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$92 + movb $2, 13240(%rsp) + movb $1, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$93 +Ljade_kem_kyber_kyber768_amd64_ref_dec$92: + movb $1, 13240(%rsp) + movb $2, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$93: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$91: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$89 +Ljade_kem_kyber_kyber768_amd64_ref_dec$90: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$89: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$90 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$81 +Ljade_kem_kyber_kyber768_amd64_ref_dec$82: + movq %rcx, 40(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$88: + leaq 8(%rsp), %rsp + movq 40(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$83: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$86 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$86 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$87: +Ljade_kem_kyber_kyber768_amd64_ref_dec$86: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$84 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$84 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$85: +Ljade_kem_kyber_kyber768_amd64_ref_dec$84: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$83 +Ljade_kem_kyber_kyber768_amd64_ref_dec$81: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$82 + movq $0, %rcx + movq $1792, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$79 +Ljade_kem_kyber_kyber768_amd64_ref_dec$80: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$79: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$80 + movq 32(%rsp), %rcx + cmpq $0, %rcx + je Ljade_kem_kyber_kyber768_amd64_ref_dec$77 + movb $2, 13240(%rsp) + movb $2, 13241(%rsp) + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$78 +Ljade_kem_kyber_kyber768_amd64_ref_dec$77: + movb $2, 13240(%rsp) + movb $2, 13241(%rsp) +Ljade_kem_kyber_kyber768_amd64_ref_dec$78: + leaq 208(%rsp), %rcx + leaq 13208(%rsp), %rdx + call L_shake128_absorb34$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$76: + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$74 +Ljade_kem_kyber_kyber768_amd64_ref_dec$75: + movq %rcx, 408(%rsp,%rcx,8) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$74: + cmpq $64, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$75 + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$66 +Ljade_kem_kyber_kyber768_amd64_ref_dec$67: + movq %rcx, 32(%rsp) + leaq 208(%rsp), %rcx + leaq 13242(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$73: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$68: + movzbw 13242(%rsp,%rdx), %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13242(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$71 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$71 + movw %si, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$72: +Ljade_kem_kyber_kyber768_amd64_ref_dec$71: + cmpw $3329, %r8w + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$69 + cmpq $256, %rcx + jnb Ljade_kem_kyber_kyber768_amd64_ref_dec$69 + movw %r8w, 408(%rsp,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$70: +Ljade_kem_kyber_kyber768_amd64_ref_dec$69: + cmpq $166, %rdx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$68 +Ljade_kem_kyber_kyber768_amd64_ref_dec$66: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$67 + movq $0, %rcx + movq $2048, %rdx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$64 +Ljade_kem_kyber_kyber768_amd64_ref_dec$65: + movw 408(%rsp,%rcx,2), %si + movw %si, 8600(%rsp,%rdx,2) + incq %rcx + incq %rdx +Ljade_kem_kyber_kyber768_amd64_ref_dec$64: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$65 + movb $0, %cl + leaq 3992(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$63: + leaq 176(%rsp), %rsp + movb $1, %cl + leaq 4504(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$62: + leaq 176(%rsp), %rsp + movb $2, %cl + leaq 5016(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$61: + leaq 176(%rsp), %rsp + movb $3, %cl + leaq 5528(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$60: + leaq 176(%rsp), %rsp + movb $4, %cl + leaq 6040(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$59: + leaq 176(%rsp), %rsp + movb $5, %cl + leaq 6552(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$58: + leaq 176(%rsp), %rsp + movb $6, %cl + leaq 408(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$57: + leaq 176(%rsp), %rsp + leaq 3992(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$56: + leaq 4504(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$55: + leaq 5016(%rsp), %rcx + call L_poly_ntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$54: + leaq 7064(%rsp), %rdi + leaq 8600(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$53: + leaq 16(%rsp), %rsp + leaq 920(%rsp), %rdi + leaq 9112(%rsp), %rcx + leaq 4504(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$52: + leaq 16(%rsp), %rsp + leaq 7064(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$51: + leaq 920(%rsp), %rdi + leaq 9624(%rsp), %rcx + leaq 5016(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$50: + leaq 16(%rsp), %rsp + leaq 7064(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$49: + leaq 7064(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$47 +Ljade_kem_kyber_kyber768_amd64_ref_dec$48: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$47: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$48 + leaq 7576(%rsp), %rdi + leaq 10136(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$46: + leaq 16(%rsp), %rsp + leaq 920(%rsp), %rdi + leaq 10648(%rsp), %rcx + leaq 4504(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$45: + leaq 16(%rsp), %rsp + leaq 7576(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$44: + leaq 920(%rsp), %rdi + leaq 11160(%rsp), %rcx + leaq 5016(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$43: + leaq 16(%rsp), %rsp + leaq 7576(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$42: + leaq 7576(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$40 +Ljade_kem_kyber_kyber768_amd64_ref_dec$41: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$40: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$41 + leaq 8088(%rsp), %rdi + leaq 11672(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$39: + leaq 16(%rsp), %rsp + leaq 920(%rsp), %rdi + leaq 12184(%rsp), %rcx + leaq 4504(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$38: + leaq 16(%rsp), %rsp + leaq 8088(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$37: + leaq 920(%rsp), %rdi + leaq 12696(%rsp), %rcx + leaq 5016(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$36: + leaq 16(%rsp), %rsp + leaq 8088(%rsp), %rcx + leaq 920(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$35: + leaq 8088(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$33 +Ljade_kem_kyber_kyber768_amd64_ref_dec$34: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$33: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$34 + leaq 920(%rsp), %rdi + leaq 2456(%rsp), %rcx + leaq 3992(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$32: + leaq 16(%rsp), %rsp + leaq 1944(%rsp), %rdi + leaq 2968(%rsp), %rcx + leaq 4504(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$31: + leaq 16(%rsp), %rsp + leaq 920(%rsp), %rcx + leaq 1944(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$30: + leaq 1944(%rsp), %rdi + leaq 3480(%rsp), %rcx + leaq 5016(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$29: + leaq 16(%rsp), %rsp + leaq 920(%rsp), %rcx + leaq 1944(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$28: + leaq 920(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$26 +Ljade_kem_kyber_kyber768_amd64_ref_dec$27: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$26: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$27 + leaq 7064(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$25: + leaq 7576(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$24: + leaq 8088(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$23: + leaq 920(%rsp), %rcx + call L_poly_invntt$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$22: + leaq 7064(%rsp), %rcx + leaq 5528(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$21: + leaq 7576(%rsp), %rcx + leaq 6040(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$20: + leaq 8088(%rsp), %rcx + leaq 6552(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$19: + leaq 920(%rsp), %rcx + leaq 408(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$18: + leaq 920(%rsp), %rcx + leaq 1432(%rsp), %rsi + call L_poly_add2$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$17: + leaq 7064(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$15 +Ljade_kem_kyber_kyber768_amd64_ref_dec$16: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$15: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$16 + leaq 7576(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$13 +Ljade_kem_kyber_kyber768_amd64_ref_dec$14: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$13: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$14 + leaq 8088(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$11 +Ljade_kem_kyber_kyber768_amd64_ref_dec$12: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$11: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$12 + leaq 920(%rsp), %rax + movq $0, %rcx + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$9 +Ljade_kem_kyber_kyber768_amd64_ref_dec$10: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +Ljade_kem_kyber_kyber768_amd64_ref_dec$9: + cmpq $256, %rcx + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$10 + movq 24(%rsp), %rax + movq %rax, %rdx + movq $0, %rsi + movq $0, %rdi + leaq 7064(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$8: + leaq 7576(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$7: + leaq 8088(%rsp), %rcx + call L_poly_csubq$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$6: + jmp Ljade_kem_kyber_kyber768_amd64_ref_dec$4 +Ljade_kem_kyber_kyber768_amd64_ref_dec$5: + movzwq 7064(%rsp,%rsi,2), %rcx + incq %rsi + shlq $10, %rcx + addq $1665, %rcx + imulq $1290167, %rcx, %rcx + shrq $32, %rcx + andq $1023, %rcx + movzwq 7064(%rsp,%rsi,2), %r8 + incq %rsi + shlq $10, %r8 + addq $1665, %r8 + imulq $1290167, %r8, %r8 + shrq $32, %r8 + andq $1023, %r8 + movzwq 7064(%rsp,%rsi,2), %r9 + incq %rsi + shlq $10, %r9 + addq $1665, %r9 + imulq $1290167, %r9, %r9 + shrq $32, %r9 + andq $1023, %r9 + movzwq 7064(%rsp,%rsi,2), %r10 + incq %rsi + shlq $10, %r10 + addq $1665, %r10 + imulq $1290167, %r10, %r10 + shrq $32, %r10 + andq $1023, %r10 + movw %cx, %r11w + andw $255, %r11w + movb %r11b, (%rdx,%rdi) + incq %rdi + shrw $8, %cx + movw %r8w, %r11w + shlw $2, %r11w + orw %cx, %r11w + movb %r11b, (%rdx,%rdi) + incq %rdi + shrw $6, %r8w + movw %r9w, %cx + shlw $4, %cx + orw %r8w, %cx + movb %cl, (%rdx,%rdi) + incq %rdi + shrw $4, %r9w + movw %r10w, %cx + shlw $6, %cx + orw %r9w, %cx + movb %cl, (%rdx,%rdi) + incq %rdi + shrq $2, %r10 + movb %r10b, (%rdx,%rdi) + incq %rdi +Ljade_kem_kyber_kyber768_amd64_ref_dec$4: + cmpq $768, %rsi + jb Ljade_kem_kyber_kyber768_amd64_ref_dec$5 + leaq 960(%rax), %rax + leaq 920(%rsp), %rcx + call L_i_poly_compress$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$3: + movq 8(%rsp), %rsi + leaq 13410(%rsp), %rax + movq $0, %rcx + movb (%rax), %dl + movb (%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1(%rax), %dl + movb 1(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 2(%rax), %dl + movb 2(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 3(%rax), %dl + movb 3(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 4(%rax), %dl + movb 4(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 5(%rax), %dl + movb 5(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 6(%rax), %dl + movb 6(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 7(%rax), %dl + movb 7(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 8(%rax), %dl + movb 8(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 9(%rax), %dl + movb 9(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 10(%rax), %dl + movb 10(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 11(%rax), %dl + movb 11(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 12(%rax), %dl + movb 12(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 13(%rax), %dl + movb 13(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 14(%rax), %dl + movb 14(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 15(%rax), %dl + movb 15(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 16(%rax), %dl + movb 16(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 17(%rax), %dl + movb 17(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 18(%rax), %dl + movb 18(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 19(%rax), %dl + movb 19(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 20(%rax), %dl + movb 20(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 21(%rax), %dl + movb 21(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 22(%rax), %dl + movb 22(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 23(%rax), %dl + movb 23(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 24(%rax), %dl + movb 24(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 25(%rax), %dl + movb 25(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 26(%rax), %dl + movb 26(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 27(%rax), %dl + movb 27(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 28(%rax), %dl + movb 28(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 29(%rax), %dl + movb 29(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 30(%rax), %dl + movb 30(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 31(%rax), %dl + movb 31(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 32(%rax), %dl + movb 32(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 33(%rax), %dl + movb 33(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 34(%rax), %dl + movb 34(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 35(%rax), %dl + movb 35(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 36(%rax), %dl + movb 36(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 37(%rax), %dl + movb 37(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 38(%rax), %dl + movb 38(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 39(%rax), %dl + movb 39(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 40(%rax), %dl + movb 40(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 41(%rax), %dl + movb 41(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 42(%rax), %dl + movb 42(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 43(%rax), %dl + movb 43(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 44(%rax), %dl + movb 44(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 45(%rax), %dl + movb 45(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 46(%rax), %dl + movb 46(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 47(%rax), %dl + movb 47(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 48(%rax), %dl + movb 48(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 49(%rax), %dl + movb 49(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 50(%rax), %dl + movb 50(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 51(%rax), %dl + movb 51(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 52(%rax), %dl + movb 52(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 53(%rax), %dl + movb 53(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 54(%rax), %dl + movb 54(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 55(%rax), %dl + movb 55(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 56(%rax), %dl + movb 56(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 57(%rax), %dl + movb 57(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 58(%rax), %dl + movb 58(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 59(%rax), %dl + movb 59(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 60(%rax), %dl + movb 60(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 61(%rax), %dl + movb 61(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 62(%rax), %dl + movb 62(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 63(%rax), %dl + movb 63(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 64(%rax), %dl + movb 64(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 65(%rax), %dl + movb 65(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 66(%rax), %dl + movb 66(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 67(%rax), %dl + movb 67(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 68(%rax), %dl + movb 68(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 69(%rax), %dl + movb 69(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 70(%rax), %dl + movb 70(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 71(%rax), %dl + movb 71(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 72(%rax), %dl + movb 72(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 73(%rax), %dl + movb 73(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 74(%rax), %dl + movb 74(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 75(%rax), %dl + movb 75(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 76(%rax), %dl + movb 76(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 77(%rax), %dl + movb 77(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 78(%rax), %dl + movb 78(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 79(%rax), %dl + movb 79(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 80(%rax), %dl + movb 80(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 81(%rax), %dl + movb 81(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 82(%rax), %dl + movb 82(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 83(%rax), %dl + movb 83(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 84(%rax), %dl + movb 84(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 85(%rax), %dl + movb 85(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 86(%rax), %dl + movb 86(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 87(%rax), %dl + movb 87(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 88(%rax), %dl + movb 88(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 89(%rax), %dl + movb 89(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 90(%rax), %dl + movb 90(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 91(%rax), %dl + movb 91(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 92(%rax), %dl + movb 92(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 93(%rax), %dl + movb 93(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 94(%rax), %dl + movb 94(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 95(%rax), %dl + movb 95(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 96(%rax), %dl + movb 96(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 97(%rax), %dl + movb 97(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 98(%rax), %dl + movb 98(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 99(%rax), %dl + movb 99(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 100(%rax), %dl + movb 100(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 101(%rax), %dl + movb 101(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 102(%rax), %dl + movb 102(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 103(%rax), %dl + movb 103(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 104(%rax), %dl + movb 104(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 105(%rax), %dl + movb 105(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 106(%rax), %dl + movb 106(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 107(%rax), %dl + movb 107(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 108(%rax), %dl + movb 108(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 109(%rax), %dl + movb 109(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 110(%rax), %dl + movb 110(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 111(%rax), %dl + movb 111(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 112(%rax), %dl + movb 112(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 113(%rax), %dl + movb 113(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 114(%rax), %dl + movb 114(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 115(%rax), %dl + movb 115(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 116(%rax), %dl + movb 116(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 117(%rax), %dl + movb 117(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 118(%rax), %dl + movb 118(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 119(%rax), %dl + movb 119(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 120(%rax), %dl + movb 120(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 121(%rax), %dl + movb 121(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 122(%rax), %dl + movb 122(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 123(%rax), %dl + movb 123(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 124(%rax), %dl + movb 124(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 125(%rax), %dl + movb 125(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 126(%rax), %dl + movb 126(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 127(%rax), %dl + movb 127(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 128(%rax), %dl + movb 128(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 129(%rax), %dl + movb 129(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 130(%rax), %dl + movb 130(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 131(%rax), %dl + movb 131(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 132(%rax), %dl + movb 132(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 133(%rax), %dl + movb 133(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 134(%rax), %dl + movb 134(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 135(%rax), %dl + movb 135(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 136(%rax), %dl + movb 136(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 137(%rax), %dl + movb 137(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 138(%rax), %dl + movb 138(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 139(%rax), %dl + movb 139(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 140(%rax), %dl + movb 140(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 141(%rax), %dl + movb 141(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 142(%rax), %dl + movb 142(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 143(%rax), %dl + movb 143(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 144(%rax), %dl + movb 144(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 145(%rax), %dl + movb 145(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 146(%rax), %dl + movb 146(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 147(%rax), %dl + movb 147(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 148(%rax), %dl + movb 148(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 149(%rax), %dl + movb 149(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 150(%rax), %dl + movb 150(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 151(%rax), %dl + movb 151(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 152(%rax), %dl + movb 152(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 153(%rax), %dl + movb 153(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 154(%rax), %dl + movb 154(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 155(%rax), %dl + movb 155(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 156(%rax), %dl + movb 156(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 157(%rax), %dl + movb 157(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 158(%rax), %dl + movb 158(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 159(%rax), %dl + movb 159(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 160(%rax), %dl + movb 160(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 161(%rax), %dl + movb 161(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 162(%rax), %dl + movb 162(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 163(%rax), %dl + movb 163(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 164(%rax), %dl + movb 164(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 165(%rax), %dl + movb 165(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 166(%rax), %dl + movb 166(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 167(%rax), %dl + movb 167(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 168(%rax), %dl + movb 168(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 169(%rax), %dl + movb 169(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 170(%rax), %dl + movb 170(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 171(%rax), %dl + movb 171(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 172(%rax), %dl + movb 172(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 173(%rax), %dl + movb 173(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 174(%rax), %dl + movb 174(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 175(%rax), %dl + movb 175(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 176(%rax), %dl + movb 176(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 177(%rax), %dl + movb 177(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 178(%rax), %dl + movb 178(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 179(%rax), %dl + movb 179(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 180(%rax), %dl + movb 180(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 181(%rax), %dl + movb 181(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 182(%rax), %dl + movb 182(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 183(%rax), %dl + movb 183(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 184(%rax), %dl + movb 184(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 185(%rax), %dl + movb 185(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 186(%rax), %dl + movb 186(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 187(%rax), %dl + movb 187(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 188(%rax), %dl + movb 188(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 189(%rax), %dl + movb 189(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 190(%rax), %dl + movb 190(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 191(%rax), %dl + movb 191(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 192(%rax), %dl + movb 192(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 193(%rax), %dl + movb 193(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 194(%rax), %dl + movb 194(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 195(%rax), %dl + movb 195(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 196(%rax), %dl + movb 196(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 197(%rax), %dl + movb 197(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 198(%rax), %dl + movb 198(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 199(%rax), %dl + movb 199(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 200(%rax), %dl + movb 200(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 201(%rax), %dl + movb 201(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 202(%rax), %dl + movb 202(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 203(%rax), %dl + movb 203(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 204(%rax), %dl + movb 204(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 205(%rax), %dl + movb 205(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 206(%rax), %dl + movb 206(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 207(%rax), %dl + movb 207(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 208(%rax), %dl + movb 208(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 209(%rax), %dl + movb 209(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 210(%rax), %dl + movb 210(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 211(%rax), %dl + movb 211(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 212(%rax), %dl + movb 212(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 213(%rax), %dl + movb 213(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 214(%rax), %dl + movb 214(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 215(%rax), %dl + movb 215(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 216(%rax), %dl + movb 216(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 217(%rax), %dl + movb 217(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 218(%rax), %dl + movb 218(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 219(%rax), %dl + movb 219(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 220(%rax), %dl + movb 220(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 221(%rax), %dl + movb 221(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 222(%rax), %dl + movb 222(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 223(%rax), %dl + movb 223(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 224(%rax), %dl + movb 224(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 225(%rax), %dl + movb 225(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 226(%rax), %dl + movb 226(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 227(%rax), %dl + movb 227(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 228(%rax), %dl + movb 228(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 229(%rax), %dl + movb 229(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 230(%rax), %dl + movb 230(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 231(%rax), %dl + movb 231(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 232(%rax), %dl + movb 232(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 233(%rax), %dl + movb 233(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 234(%rax), %dl + movb 234(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 235(%rax), %dl + movb 235(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 236(%rax), %dl + movb 236(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 237(%rax), %dl + movb 237(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 238(%rax), %dl + movb 238(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 239(%rax), %dl + movb 239(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 240(%rax), %dl + movb 240(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 241(%rax), %dl + movb 241(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 242(%rax), %dl + movb 242(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 243(%rax), %dl + movb 243(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 244(%rax), %dl + movb 244(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 245(%rax), %dl + movb 245(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 246(%rax), %dl + movb 246(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 247(%rax), %dl + movb 247(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 248(%rax), %dl + movb 248(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 249(%rax), %dl + movb 249(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 250(%rax), %dl + movb 250(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 251(%rax), %dl + movb 251(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 252(%rax), %dl + movb 252(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 253(%rax), %dl + movb 253(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 254(%rax), %dl + movb 254(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 255(%rax), %dl + movb 255(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 256(%rax), %dl + movb 256(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 257(%rax), %dl + movb 257(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 258(%rax), %dl + movb 258(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 259(%rax), %dl + movb 259(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 260(%rax), %dl + movb 260(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 261(%rax), %dl + movb 261(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 262(%rax), %dl + movb 262(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 263(%rax), %dl + movb 263(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 264(%rax), %dl + movb 264(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 265(%rax), %dl + movb 265(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 266(%rax), %dl + movb 266(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 267(%rax), %dl + movb 267(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 268(%rax), %dl + movb 268(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 269(%rax), %dl + movb 269(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 270(%rax), %dl + movb 270(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 271(%rax), %dl + movb 271(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 272(%rax), %dl + movb 272(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 273(%rax), %dl + movb 273(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 274(%rax), %dl + movb 274(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 275(%rax), %dl + movb 275(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 276(%rax), %dl + movb 276(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 277(%rax), %dl + movb 277(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 278(%rax), %dl + movb 278(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 279(%rax), %dl + movb 279(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 280(%rax), %dl + movb 280(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 281(%rax), %dl + movb 281(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 282(%rax), %dl + movb 282(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 283(%rax), %dl + movb 283(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 284(%rax), %dl + movb 284(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 285(%rax), %dl + movb 285(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 286(%rax), %dl + movb 286(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 287(%rax), %dl + movb 287(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 288(%rax), %dl + movb 288(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 289(%rax), %dl + movb 289(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 290(%rax), %dl + movb 290(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 291(%rax), %dl + movb 291(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 292(%rax), %dl + movb 292(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 293(%rax), %dl + movb 293(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 294(%rax), %dl + movb 294(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 295(%rax), %dl + movb 295(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 296(%rax), %dl + movb 296(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 297(%rax), %dl + movb 297(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 298(%rax), %dl + movb 298(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 299(%rax), %dl + movb 299(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 300(%rax), %dl + movb 300(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 301(%rax), %dl + movb 301(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 302(%rax), %dl + movb 302(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 303(%rax), %dl + movb 303(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 304(%rax), %dl + movb 304(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 305(%rax), %dl + movb 305(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 306(%rax), %dl + movb 306(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 307(%rax), %dl + movb 307(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 308(%rax), %dl + movb 308(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 309(%rax), %dl + movb 309(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 310(%rax), %dl + movb 310(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 311(%rax), %dl + movb 311(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 312(%rax), %dl + movb 312(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 313(%rax), %dl + movb 313(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 314(%rax), %dl + movb 314(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 315(%rax), %dl + movb 315(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 316(%rax), %dl + movb 316(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 317(%rax), %dl + movb 317(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 318(%rax), %dl + movb 318(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 319(%rax), %dl + movb 319(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 320(%rax), %dl + movb 320(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 321(%rax), %dl + movb 321(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 322(%rax), %dl + movb 322(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 323(%rax), %dl + movb 323(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 324(%rax), %dl + movb 324(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 325(%rax), %dl + movb 325(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 326(%rax), %dl + movb 326(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 327(%rax), %dl + movb 327(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 328(%rax), %dl + movb 328(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 329(%rax), %dl + movb 329(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 330(%rax), %dl + movb 330(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 331(%rax), %dl + movb 331(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 332(%rax), %dl + movb 332(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 333(%rax), %dl + movb 333(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 334(%rax), %dl + movb 334(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 335(%rax), %dl + movb 335(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 336(%rax), %dl + movb 336(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 337(%rax), %dl + movb 337(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 338(%rax), %dl + movb 338(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 339(%rax), %dl + movb 339(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 340(%rax), %dl + movb 340(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 341(%rax), %dl + movb 341(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 342(%rax), %dl + movb 342(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 343(%rax), %dl + movb 343(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 344(%rax), %dl + movb 344(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 345(%rax), %dl + movb 345(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 346(%rax), %dl + movb 346(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 347(%rax), %dl + movb 347(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 348(%rax), %dl + movb 348(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 349(%rax), %dl + movb 349(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 350(%rax), %dl + movb 350(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 351(%rax), %dl + movb 351(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 352(%rax), %dl + movb 352(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 353(%rax), %dl + movb 353(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 354(%rax), %dl + movb 354(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 355(%rax), %dl + movb 355(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 356(%rax), %dl + movb 356(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 357(%rax), %dl + movb 357(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 358(%rax), %dl + movb 358(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 359(%rax), %dl + movb 359(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 360(%rax), %dl + movb 360(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 361(%rax), %dl + movb 361(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 362(%rax), %dl + movb 362(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 363(%rax), %dl + movb 363(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 364(%rax), %dl + movb 364(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 365(%rax), %dl + movb 365(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 366(%rax), %dl + movb 366(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 367(%rax), %dl + movb 367(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 368(%rax), %dl + movb 368(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 369(%rax), %dl + movb 369(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 370(%rax), %dl + movb 370(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 371(%rax), %dl + movb 371(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 372(%rax), %dl + movb 372(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 373(%rax), %dl + movb 373(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 374(%rax), %dl + movb 374(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 375(%rax), %dl + movb 375(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 376(%rax), %dl + movb 376(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 377(%rax), %dl + movb 377(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 378(%rax), %dl + movb 378(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 379(%rax), %dl + movb 379(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 380(%rax), %dl + movb 380(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 381(%rax), %dl + movb 381(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 382(%rax), %dl + movb 382(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 383(%rax), %dl + movb 383(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 384(%rax), %dl + movb 384(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 385(%rax), %dl + movb 385(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 386(%rax), %dl + movb 386(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 387(%rax), %dl + movb 387(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 388(%rax), %dl + movb 388(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 389(%rax), %dl + movb 389(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 390(%rax), %dl + movb 390(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 391(%rax), %dl + movb 391(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 392(%rax), %dl + movb 392(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 393(%rax), %dl + movb 393(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 394(%rax), %dl + movb 394(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 395(%rax), %dl + movb 395(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 396(%rax), %dl + movb 396(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 397(%rax), %dl + movb 397(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 398(%rax), %dl + movb 398(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 399(%rax), %dl + movb 399(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 400(%rax), %dl + movb 400(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 401(%rax), %dl + movb 401(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 402(%rax), %dl + movb 402(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 403(%rax), %dl + movb 403(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 404(%rax), %dl + movb 404(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 405(%rax), %dl + movb 405(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 406(%rax), %dl + movb 406(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 407(%rax), %dl + movb 407(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 408(%rax), %dl + movb 408(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 409(%rax), %dl + movb 409(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 410(%rax), %dl + movb 410(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 411(%rax), %dl + movb 411(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 412(%rax), %dl + movb 412(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 413(%rax), %dl + movb 413(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 414(%rax), %dl + movb 414(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 415(%rax), %dl + movb 415(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 416(%rax), %dl + movb 416(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 417(%rax), %dl + movb 417(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 418(%rax), %dl + movb 418(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 419(%rax), %dl + movb 419(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 420(%rax), %dl + movb 420(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 421(%rax), %dl + movb 421(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 422(%rax), %dl + movb 422(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 423(%rax), %dl + movb 423(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 424(%rax), %dl + movb 424(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 425(%rax), %dl + movb 425(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 426(%rax), %dl + movb 426(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 427(%rax), %dl + movb 427(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 428(%rax), %dl + movb 428(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 429(%rax), %dl + movb 429(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 430(%rax), %dl + movb 430(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 431(%rax), %dl + movb 431(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 432(%rax), %dl + movb 432(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 433(%rax), %dl + movb 433(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 434(%rax), %dl + movb 434(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 435(%rax), %dl + movb 435(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 436(%rax), %dl + movb 436(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 437(%rax), %dl + movb 437(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 438(%rax), %dl + movb 438(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 439(%rax), %dl + movb 439(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 440(%rax), %dl + movb 440(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 441(%rax), %dl + movb 441(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 442(%rax), %dl + movb 442(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 443(%rax), %dl + movb 443(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 444(%rax), %dl + movb 444(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 445(%rax), %dl + movb 445(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 446(%rax), %dl + movb 446(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 447(%rax), %dl + movb 447(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 448(%rax), %dl + movb 448(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 449(%rax), %dl + movb 449(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 450(%rax), %dl + movb 450(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 451(%rax), %dl + movb 451(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 452(%rax), %dl + movb 452(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 453(%rax), %dl + movb 453(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 454(%rax), %dl + movb 454(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 455(%rax), %dl + movb 455(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 456(%rax), %dl + movb 456(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 457(%rax), %dl + movb 457(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 458(%rax), %dl + movb 458(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 459(%rax), %dl + movb 459(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 460(%rax), %dl + movb 460(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 461(%rax), %dl + movb 461(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 462(%rax), %dl + movb 462(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 463(%rax), %dl + movb 463(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 464(%rax), %dl + movb 464(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 465(%rax), %dl + movb 465(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 466(%rax), %dl + movb 466(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 467(%rax), %dl + movb 467(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 468(%rax), %dl + movb 468(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 469(%rax), %dl + movb 469(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 470(%rax), %dl + movb 470(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 471(%rax), %dl + movb 471(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 472(%rax), %dl + movb 472(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 473(%rax), %dl + movb 473(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 474(%rax), %dl + movb 474(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 475(%rax), %dl + movb 475(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 476(%rax), %dl + movb 476(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 477(%rax), %dl + movb 477(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 478(%rax), %dl + movb 478(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 479(%rax), %dl + movb 479(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 480(%rax), %dl + movb 480(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 481(%rax), %dl + movb 481(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 482(%rax), %dl + movb 482(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 483(%rax), %dl + movb 483(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 484(%rax), %dl + movb 484(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 485(%rax), %dl + movb 485(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 486(%rax), %dl + movb 486(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 487(%rax), %dl + movb 487(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 488(%rax), %dl + movb 488(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 489(%rax), %dl + movb 489(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 490(%rax), %dl + movb 490(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 491(%rax), %dl + movb 491(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 492(%rax), %dl + movb 492(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 493(%rax), %dl + movb 493(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 494(%rax), %dl + movb 494(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 495(%rax), %dl + movb 495(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 496(%rax), %dl + movb 496(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 497(%rax), %dl + movb 497(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 498(%rax), %dl + movb 498(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 499(%rax), %dl + movb 499(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 500(%rax), %dl + movb 500(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 501(%rax), %dl + movb 501(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 502(%rax), %dl + movb 502(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 503(%rax), %dl + movb 503(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 504(%rax), %dl + movb 504(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 505(%rax), %dl + movb 505(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 506(%rax), %dl + movb 506(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 507(%rax), %dl + movb 507(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 508(%rax), %dl + movb 508(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 509(%rax), %dl + movb 509(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 510(%rax), %dl + movb 510(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 511(%rax), %dl + movb 511(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 512(%rax), %dl + movb 512(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 513(%rax), %dl + movb 513(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 514(%rax), %dl + movb 514(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 515(%rax), %dl + movb 515(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 516(%rax), %dl + movb 516(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 517(%rax), %dl + movb 517(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 518(%rax), %dl + movb 518(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 519(%rax), %dl + movb 519(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 520(%rax), %dl + movb 520(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 521(%rax), %dl + movb 521(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 522(%rax), %dl + movb 522(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 523(%rax), %dl + movb 523(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 524(%rax), %dl + movb 524(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 525(%rax), %dl + movb 525(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 526(%rax), %dl + movb 526(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 527(%rax), %dl + movb 527(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 528(%rax), %dl + movb 528(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 529(%rax), %dl + movb 529(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 530(%rax), %dl + movb 530(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 531(%rax), %dl + movb 531(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 532(%rax), %dl + movb 532(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 533(%rax), %dl + movb 533(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 534(%rax), %dl + movb 534(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 535(%rax), %dl + movb 535(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 536(%rax), %dl + movb 536(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 537(%rax), %dl + movb 537(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 538(%rax), %dl + movb 538(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 539(%rax), %dl + movb 539(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 540(%rax), %dl + movb 540(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 541(%rax), %dl + movb 541(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 542(%rax), %dl + movb 542(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 543(%rax), %dl + movb 543(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 544(%rax), %dl + movb 544(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 545(%rax), %dl + movb 545(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 546(%rax), %dl + movb 546(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 547(%rax), %dl + movb 547(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 548(%rax), %dl + movb 548(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 549(%rax), %dl + movb 549(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 550(%rax), %dl + movb 550(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 551(%rax), %dl + movb 551(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 552(%rax), %dl + movb 552(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 553(%rax), %dl + movb 553(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 554(%rax), %dl + movb 554(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 555(%rax), %dl + movb 555(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 556(%rax), %dl + movb 556(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 557(%rax), %dl + movb 557(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 558(%rax), %dl + movb 558(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 559(%rax), %dl + movb 559(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 560(%rax), %dl + movb 560(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 561(%rax), %dl + movb 561(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 562(%rax), %dl + movb 562(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 563(%rax), %dl + movb 563(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 564(%rax), %dl + movb 564(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 565(%rax), %dl + movb 565(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 566(%rax), %dl + movb 566(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 567(%rax), %dl + movb 567(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 568(%rax), %dl + movb 568(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 569(%rax), %dl + movb 569(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 570(%rax), %dl + movb 570(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 571(%rax), %dl + movb 571(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 572(%rax), %dl + movb 572(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 573(%rax), %dl + movb 573(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 574(%rax), %dl + movb 574(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 575(%rax), %dl + movb 575(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 576(%rax), %dl + movb 576(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 577(%rax), %dl + movb 577(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 578(%rax), %dl + movb 578(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 579(%rax), %dl + movb 579(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 580(%rax), %dl + movb 580(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 581(%rax), %dl + movb 581(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 582(%rax), %dl + movb 582(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 583(%rax), %dl + movb 583(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 584(%rax), %dl + movb 584(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 585(%rax), %dl + movb 585(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 586(%rax), %dl + movb 586(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 587(%rax), %dl + movb 587(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 588(%rax), %dl + movb 588(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 589(%rax), %dl + movb 589(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 590(%rax), %dl + movb 590(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 591(%rax), %dl + movb 591(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 592(%rax), %dl + movb 592(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 593(%rax), %dl + movb 593(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 594(%rax), %dl + movb 594(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 595(%rax), %dl + movb 595(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 596(%rax), %dl + movb 596(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 597(%rax), %dl + movb 597(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 598(%rax), %dl + movb 598(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 599(%rax), %dl + movb 599(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 600(%rax), %dl + movb 600(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 601(%rax), %dl + movb 601(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 602(%rax), %dl + movb 602(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 603(%rax), %dl + movb 603(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 604(%rax), %dl + movb 604(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 605(%rax), %dl + movb 605(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 606(%rax), %dl + movb 606(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 607(%rax), %dl + movb 607(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 608(%rax), %dl + movb 608(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 609(%rax), %dl + movb 609(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 610(%rax), %dl + movb 610(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 611(%rax), %dl + movb 611(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 612(%rax), %dl + movb 612(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 613(%rax), %dl + movb 613(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 614(%rax), %dl + movb 614(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 615(%rax), %dl + movb 615(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 616(%rax), %dl + movb 616(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 617(%rax), %dl + movb 617(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 618(%rax), %dl + movb 618(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 619(%rax), %dl + movb 619(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 620(%rax), %dl + movb 620(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 621(%rax), %dl + movb 621(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 622(%rax), %dl + movb 622(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 623(%rax), %dl + movb 623(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 624(%rax), %dl + movb 624(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 625(%rax), %dl + movb 625(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 626(%rax), %dl + movb 626(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 627(%rax), %dl + movb 627(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 628(%rax), %dl + movb 628(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 629(%rax), %dl + movb 629(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 630(%rax), %dl + movb 630(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 631(%rax), %dl + movb 631(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 632(%rax), %dl + movb 632(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 633(%rax), %dl + movb 633(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 634(%rax), %dl + movb 634(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 635(%rax), %dl + movb 635(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 636(%rax), %dl + movb 636(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 637(%rax), %dl + movb 637(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 638(%rax), %dl + movb 638(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 639(%rax), %dl + movb 639(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 640(%rax), %dl + movb 640(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 641(%rax), %dl + movb 641(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 642(%rax), %dl + movb 642(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 643(%rax), %dl + movb 643(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 644(%rax), %dl + movb 644(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 645(%rax), %dl + movb 645(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 646(%rax), %dl + movb 646(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 647(%rax), %dl + movb 647(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 648(%rax), %dl + movb 648(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 649(%rax), %dl + movb 649(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 650(%rax), %dl + movb 650(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 651(%rax), %dl + movb 651(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 652(%rax), %dl + movb 652(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 653(%rax), %dl + movb 653(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 654(%rax), %dl + movb 654(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 655(%rax), %dl + movb 655(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 656(%rax), %dl + movb 656(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 657(%rax), %dl + movb 657(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 658(%rax), %dl + movb 658(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 659(%rax), %dl + movb 659(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 660(%rax), %dl + movb 660(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 661(%rax), %dl + movb 661(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 662(%rax), %dl + movb 662(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 663(%rax), %dl + movb 663(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 664(%rax), %dl + movb 664(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 665(%rax), %dl + movb 665(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 666(%rax), %dl + movb 666(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 667(%rax), %dl + movb 667(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 668(%rax), %dl + movb 668(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 669(%rax), %dl + movb 669(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 670(%rax), %dl + movb 670(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 671(%rax), %dl + movb 671(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 672(%rax), %dl + movb 672(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 673(%rax), %dl + movb 673(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 674(%rax), %dl + movb 674(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 675(%rax), %dl + movb 675(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 676(%rax), %dl + movb 676(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 677(%rax), %dl + movb 677(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 678(%rax), %dl + movb 678(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 679(%rax), %dl + movb 679(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 680(%rax), %dl + movb 680(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 681(%rax), %dl + movb 681(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 682(%rax), %dl + movb 682(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 683(%rax), %dl + movb 683(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 684(%rax), %dl + movb 684(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 685(%rax), %dl + movb 685(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 686(%rax), %dl + movb 686(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 687(%rax), %dl + movb 687(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 688(%rax), %dl + movb 688(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 689(%rax), %dl + movb 689(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 690(%rax), %dl + movb 690(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 691(%rax), %dl + movb 691(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 692(%rax), %dl + movb 692(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 693(%rax), %dl + movb 693(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 694(%rax), %dl + movb 694(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 695(%rax), %dl + movb 695(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 696(%rax), %dl + movb 696(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 697(%rax), %dl + movb 697(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 698(%rax), %dl + movb 698(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 699(%rax), %dl + movb 699(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 700(%rax), %dl + movb 700(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 701(%rax), %dl + movb 701(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 702(%rax), %dl + movb 702(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 703(%rax), %dl + movb 703(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 704(%rax), %dl + movb 704(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 705(%rax), %dl + movb 705(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 706(%rax), %dl + movb 706(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 707(%rax), %dl + movb 707(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 708(%rax), %dl + movb 708(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 709(%rax), %dl + movb 709(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 710(%rax), %dl + movb 710(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 711(%rax), %dl + movb 711(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 712(%rax), %dl + movb 712(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 713(%rax), %dl + movb 713(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 714(%rax), %dl + movb 714(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 715(%rax), %dl + movb 715(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 716(%rax), %dl + movb 716(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 717(%rax), %dl + movb 717(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 718(%rax), %dl + movb 718(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 719(%rax), %dl + movb 719(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 720(%rax), %dl + movb 720(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 721(%rax), %dl + movb 721(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 722(%rax), %dl + movb 722(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 723(%rax), %dl + movb 723(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 724(%rax), %dl + movb 724(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 725(%rax), %dl + movb 725(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 726(%rax), %dl + movb 726(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 727(%rax), %dl + movb 727(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 728(%rax), %dl + movb 728(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 729(%rax), %dl + movb 729(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 730(%rax), %dl + movb 730(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 731(%rax), %dl + movb 731(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 732(%rax), %dl + movb 732(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 733(%rax), %dl + movb 733(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 734(%rax), %dl + movb 734(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 735(%rax), %dl + movb 735(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 736(%rax), %dl + movb 736(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 737(%rax), %dl + movb 737(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 738(%rax), %dl + movb 738(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 739(%rax), %dl + movb 739(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 740(%rax), %dl + movb 740(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 741(%rax), %dl + movb 741(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 742(%rax), %dl + movb 742(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 743(%rax), %dl + movb 743(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 744(%rax), %dl + movb 744(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 745(%rax), %dl + movb 745(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 746(%rax), %dl + movb 746(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 747(%rax), %dl + movb 747(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 748(%rax), %dl + movb 748(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 749(%rax), %dl + movb 749(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 750(%rax), %dl + movb 750(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 751(%rax), %dl + movb 751(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 752(%rax), %dl + movb 752(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 753(%rax), %dl + movb 753(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 754(%rax), %dl + movb 754(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 755(%rax), %dl + movb 755(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 756(%rax), %dl + movb 756(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 757(%rax), %dl + movb 757(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 758(%rax), %dl + movb 758(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 759(%rax), %dl + movb 759(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 760(%rax), %dl + movb 760(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 761(%rax), %dl + movb 761(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 762(%rax), %dl + movb 762(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 763(%rax), %dl + movb 763(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 764(%rax), %dl + movb 764(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 765(%rax), %dl + movb 765(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 766(%rax), %dl + movb 766(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 767(%rax), %dl + movb 767(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 768(%rax), %dl + movb 768(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 769(%rax), %dl + movb 769(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 770(%rax), %dl + movb 770(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 771(%rax), %dl + movb 771(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 772(%rax), %dl + movb 772(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 773(%rax), %dl + movb 773(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 774(%rax), %dl + movb 774(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 775(%rax), %dl + movb 775(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 776(%rax), %dl + movb 776(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 777(%rax), %dl + movb 777(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 778(%rax), %dl + movb 778(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 779(%rax), %dl + movb 779(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 780(%rax), %dl + movb 780(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 781(%rax), %dl + movb 781(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 782(%rax), %dl + movb 782(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 783(%rax), %dl + movb 783(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 784(%rax), %dl + movb 784(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 785(%rax), %dl + movb 785(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 786(%rax), %dl + movb 786(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 787(%rax), %dl + movb 787(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 788(%rax), %dl + movb 788(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 789(%rax), %dl + movb 789(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 790(%rax), %dl + movb 790(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 791(%rax), %dl + movb 791(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 792(%rax), %dl + movb 792(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 793(%rax), %dl + movb 793(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 794(%rax), %dl + movb 794(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 795(%rax), %dl + movb 795(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 796(%rax), %dl + movb 796(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 797(%rax), %dl + movb 797(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 798(%rax), %dl + movb 798(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 799(%rax), %dl + movb 799(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 800(%rax), %dl + movb 800(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 801(%rax), %dl + movb 801(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 802(%rax), %dl + movb 802(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 803(%rax), %dl + movb 803(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 804(%rax), %dl + movb 804(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 805(%rax), %dl + movb 805(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 806(%rax), %dl + movb 806(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 807(%rax), %dl + movb 807(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 808(%rax), %dl + movb 808(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 809(%rax), %dl + movb 809(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 810(%rax), %dl + movb 810(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 811(%rax), %dl + movb 811(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 812(%rax), %dl + movb 812(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 813(%rax), %dl + movb 813(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 814(%rax), %dl + movb 814(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 815(%rax), %dl + movb 815(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 816(%rax), %dl + movb 816(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 817(%rax), %dl + movb 817(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 818(%rax), %dl + movb 818(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 819(%rax), %dl + movb 819(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 820(%rax), %dl + movb 820(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 821(%rax), %dl + movb 821(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 822(%rax), %dl + movb 822(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 823(%rax), %dl + movb 823(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 824(%rax), %dl + movb 824(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 825(%rax), %dl + movb 825(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 826(%rax), %dl + movb 826(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 827(%rax), %dl + movb 827(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 828(%rax), %dl + movb 828(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 829(%rax), %dl + movb 829(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 830(%rax), %dl + movb 830(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 831(%rax), %dl + movb 831(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 832(%rax), %dl + movb 832(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 833(%rax), %dl + movb 833(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 834(%rax), %dl + movb 834(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 835(%rax), %dl + movb 835(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 836(%rax), %dl + movb 836(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 837(%rax), %dl + movb 837(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 838(%rax), %dl + movb 838(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 839(%rax), %dl + movb 839(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 840(%rax), %dl + movb 840(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 841(%rax), %dl + movb 841(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 842(%rax), %dl + movb 842(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 843(%rax), %dl + movb 843(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 844(%rax), %dl + movb 844(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 845(%rax), %dl + movb 845(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 846(%rax), %dl + movb 846(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 847(%rax), %dl + movb 847(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 848(%rax), %dl + movb 848(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 849(%rax), %dl + movb 849(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 850(%rax), %dl + movb 850(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 851(%rax), %dl + movb 851(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 852(%rax), %dl + movb 852(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 853(%rax), %dl + movb 853(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 854(%rax), %dl + movb 854(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 855(%rax), %dl + movb 855(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 856(%rax), %dl + movb 856(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 857(%rax), %dl + movb 857(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 858(%rax), %dl + movb 858(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 859(%rax), %dl + movb 859(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 860(%rax), %dl + movb 860(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 861(%rax), %dl + movb 861(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 862(%rax), %dl + movb 862(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 863(%rax), %dl + movb 863(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 864(%rax), %dl + movb 864(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 865(%rax), %dl + movb 865(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 866(%rax), %dl + movb 866(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 867(%rax), %dl + movb 867(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 868(%rax), %dl + movb 868(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 869(%rax), %dl + movb 869(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 870(%rax), %dl + movb 870(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 871(%rax), %dl + movb 871(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 872(%rax), %dl + movb 872(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 873(%rax), %dl + movb 873(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 874(%rax), %dl + movb 874(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 875(%rax), %dl + movb 875(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 876(%rax), %dl + movb 876(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 877(%rax), %dl + movb 877(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 878(%rax), %dl + movb 878(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 879(%rax), %dl + movb 879(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 880(%rax), %dl + movb 880(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 881(%rax), %dl + movb 881(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 882(%rax), %dl + movb 882(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 883(%rax), %dl + movb 883(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 884(%rax), %dl + movb 884(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 885(%rax), %dl + movb 885(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 886(%rax), %dl + movb 886(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 887(%rax), %dl + movb 887(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 888(%rax), %dl + movb 888(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 889(%rax), %dl + movb 889(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 890(%rax), %dl + movb 890(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 891(%rax), %dl + movb 891(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 892(%rax), %dl + movb 892(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 893(%rax), %dl + movb 893(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 894(%rax), %dl + movb 894(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 895(%rax), %dl + movb 895(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 896(%rax), %dl + movb 896(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 897(%rax), %dl + movb 897(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 898(%rax), %dl + movb 898(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 899(%rax), %dl + movb 899(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 900(%rax), %dl + movb 900(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 901(%rax), %dl + movb 901(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 902(%rax), %dl + movb 902(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 903(%rax), %dl + movb 903(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 904(%rax), %dl + movb 904(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 905(%rax), %dl + movb 905(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 906(%rax), %dl + movb 906(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 907(%rax), %dl + movb 907(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 908(%rax), %dl + movb 908(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 909(%rax), %dl + movb 909(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 910(%rax), %dl + movb 910(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 911(%rax), %dl + movb 911(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 912(%rax), %dl + movb 912(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 913(%rax), %dl + movb 913(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 914(%rax), %dl + movb 914(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 915(%rax), %dl + movb 915(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 916(%rax), %dl + movb 916(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 917(%rax), %dl + movb 917(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 918(%rax), %dl + movb 918(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 919(%rax), %dl + movb 919(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 920(%rax), %dl + movb 920(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 921(%rax), %dl + movb 921(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 922(%rax), %dl + movb 922(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 923(%rax), %dl + movb 923(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 924(%rax), %dl + movb 924(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 925(%rax), %dl + movb 925(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 926(%rax), %dl + movb 926(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 927(%rax), %dl + movb 927(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 928(%rax), %dl + movb 928(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 929(%rax), %dl + movb 929(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 930(%rax), %dl + movb 930(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 931(%rax), %dl + movb 931(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 932(%rax), %dl + movb 932(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 933(%rax), %dl + movb 933(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 934(%rax), %dl + movb 934(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 935(%rax), %dl + movb 935(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 936(%rax), %dl + movb 936(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 937(%rax), %dl + movb 937(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 938(%rax), %dl + movb 938(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 939(%rax), %dl + movb 939(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 940(%rax), %dl + movb 940(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 941(%rax), %dl + movb 941(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 942(%rax), %dl + movb 942(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 943(%rax), %dl + movb 943(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 944(%rax), %dl + movb 944(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 945(%rax), %dl + movb 945(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 946(%rax), %dl + movb 946(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 947(%rax), %dl + movb 947(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 948(%rax), %dl + movb 948(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 949(%rax), %dl + movb 949(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 950(%rax), %dl + movb 950(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 951(%rax), %dl + movb 951(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 952(%rax), %dl + movb 952(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 953(%rax), %dl + movb 953(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 954(%rax), %dl + movb 954(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 955(%rax), %dl + movb 955(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 956(%rax), %dl + movb 956(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 957(%rax), %dl + movb 957(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 958(%rax), %dl + movb 958(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 959(%rax), %dl + movb 959(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 960(%rax), %dl + movb 960(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 961(%rax), %dl + movb 961(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 962(%rax), %dl + movb 962(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 963(%rax), %dl + movb 963(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 964(%rax), %dl + movb 964(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 965(%rax), %dl + movb 965(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 966(%rax), %dl + movb 966(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 967(%rax), %dl + movb 967(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 968(%rax), %dl + movb 968(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 969(%rax), %dl + movb 969(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 970(%rax), %dl + movb 970(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 971(%rax), %dl + movb 971(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 972(%rax), %dl + movb 972(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 973(%rax), %dl + movb 973(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 974(%rax), %dl + movb 974(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 975(%rax), %dl + movb 975(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 976(%rax), %dl + movb 976(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 977(%rax), %dl + movb 977(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 978(%rax), %dl + movb 978(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 979(%rax), %dl + movb 979(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 980(%rax), %dl + movb 980(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 981(%rax), %dl + movb 981(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 982(%rax), %dl + movb 982(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 983(%rax), %dl + movb 983(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 984(%rax), %dl + movb 984(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 985(%rax), %dl + movb 985(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 986(%rax), %dl + movb 986(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 987(%rax), %dl + movb 987(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 988(%rax), %dl + movb 988(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 989(%rax), %dl + movb 989(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 990(%rax), %dl + movb 990(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 991(%rax), %dl + movb 991(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 992(%rax), %dl + movb 992(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 993(%rax), %dl + movb 993(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 994(%rax), %dl + movb 994(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 995(%rax), %dl + movb 995(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 996(%rax), %dl + movb 996(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 997(%rax), %dl + movb 997(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 998(%rax), %dl + movb 998(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 999(%rax), %dl + movb 999(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1000(%rax), %dl + movb 1000(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1001(%rax), %dl + movb 1001(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1002(%rax), %dl + movb 1002(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1003(%rax), %dl + movb 1003(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1004(%rax), %dl + movb 1004(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1005(%rax), %dl + movb 1005(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1006(%rax), %dl + movb 1006(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1007(%rax), %dl + movb 1007(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1008(%rax), %dl + movb 1008(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1009(%rax), %dl + movb 1009(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1010(%rax), %dl + movb 1010(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1011(%rax), %dl + movb 1011(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1012(%rax), %dl + movb 1012(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1013(%rax), %dl + movb 1013(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1014(%rax), %dl + movb 1014(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1015(%rax), %dl + movb 1015(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1016(%rax), %dl + movb 1016(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1017(%rax), %dl + movb 1017(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1018(%rax), %dl + movb 1018(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1019(%rax), %dl + movb 1019(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1020(%rax), %dl + movb 1020(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1021(%rax), %dl + movb 1021(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1022(%rax), %dl + movb 1022(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1023(%rax), %dl + movb 1023(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1024(%rax), %dl + movb 1024(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1025(%rax), %dl + movb 1025(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1026(%rax), %dl + movb 1026(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1027(%rax), %dl + movb 1027(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1028(%rax), %dl + movb 1028(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1029(%rax), %dl + movb 1029(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1030(%rax), %dl + movb 1030(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1031(%rax), %dl + movb 1031(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1032(%rax), %dl + movb 1032(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1033(%rax), %dl + movb 1033(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1034(%rax), %dl + movb 1034(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1035(%rax), %dl + movb 1035(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1036(%rax), %dl + movb 1036(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1037(%rax), %dl + movb 1037(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1038(%rax), %dl + movb 1038(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1039(%rax), %dl + movb 1039(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1040(%rax), %dl + movb 1040(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1041(%rax), %dl + movb 1041(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1042(%rax), %dl + movb 1042(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1043(%rax), %dl + movb 1043(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1044(%rax), %dl + movb 1044(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1045(%rax), %dl + movb 1045(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1046(%rax), %dl + movb 1046(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1047(%rax), %dl + movb 1047(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1048(%rax), %dl + movb 1048(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1049(%rax), %dl + movb 1049(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1050(%rax), %dl + movb 1050(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1051(%rax), %dl + movb 1051(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1052(%rax), %dl + movb 1052(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1053(%rax), %dl + movb 1053(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1054(%rax), %dl + movb 1054(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1055(%rax), %dl + movb 1055(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1056(%rax), %dl + movb 1056(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1057(%rax), %dl + movb 1057(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1058(%rax), %dl + movb 1058(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1059(%rax), %dl + movb 1059(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1060(%rax), %dl + movb 1060(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1061(%rax), %dl + movb 1061(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1062(%rax), %dl + movb 1062(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1063(%rax), %dl + movb 1063(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1064(%rax), %dl + movb 1064(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1065(%rax), %dl + movb 1065(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1066(%rax), %dl + movb 1066(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1067(%rax), %dl + movb 1067(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1068(%rax), %dl + movb 1068(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1069(%rax), %dl + movb 1069(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1070(%rax), %dl + movb 1070(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1071(%rax), %dl + movb 1071(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1072(%rax), %dl + movb 1072(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1073(%rax), %dl + movb 1073(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1074(%rax), %dl + movb 1074(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1075(%rax), %dl + movb 1075(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1076(%rax), %dl + movb 1076(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1077(%rax), %dl + movb 1077(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1078(%rax), %dl + movb 1078(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1079(%rax), %dl + movb 1079(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1080(%rax), %dl + movb 1080(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1081(%rax), %dl + movb 1081(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1082(%rax), %dl + movb 1082(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1083(%rax), %dl + movb 1083(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1084(%rax), %dl + movb 1084(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1085(%rax), %dl + movb 1085(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1086(%rax), %dl + movb 1086(%rsi), %dil + xorb %dil, %dl + movzbq %dl, %rdx + orq %rdx, %rcx + movb 1087(%rax), %al + movb 1087(%rsi), %dl + xorb %dl, %al + movzbq %al, %rax + orq %rax, %rcx + negq %rcx + shrq $63, %rcx + movq 16(%rsp), %rax + addq $64, %rax + addq $2304, %rax + leaq 144(%rsp), %rdx + negq %rcx + movb (%rdx), %dil + movb (%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, (%rdx) + movb 1(%rdx), %dil + movb 1(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 1(%rdx) + movb 2(%rdx), %dil + movb 2(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 2(%rdx) + movb 3(%rdx), %dil + movb 3(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 3(%rdx) + movb 4(%rdx), %dil + movb 4(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 4(%rdx) + movb 5(%rdx), %dil + movb 5(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 5(%rdx) + movb 6(%rdx), %dil + movb 6(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 6(%rdx) + movb 7(%rdx), %dil + movb 7(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 7(%rdx) + movb 8(%rdx), %dil + movb 8(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 8(%rdx) + movb 9(%rdx), %dil + movb 9(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 9(%rdx) + movb 10(%rdx), %dil + movb 10(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 10(%rdx) + movb 11(%rdx), %dil + movb 11(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 11(%rdx) + movb 12(%rdx), %dil + movb 12(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 12(%rdx) + movb 13(%rdx), %dil + movb 13(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 13(%rdx) + movb 14(%rdx), %dil + movb 14(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 14(%rdx) + movb 15(%rdx), %dil + movb 15(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 15(%rdx) + movb 16(%rdx), %dil + movb 16(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 16(%rdx) + movb 17(%rdx), %dil + movb 17(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 17(%rdx) + movb 18(%rdx), %dil + movb 18(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 18(%rdx) + movb 19(%rdx), %dil + movb 19(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 19(%rdx) + movb 20(%rdx), %dil + movb 20(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 20(%rdx) + movb 21(%rdx), %dil + movb 21(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 21(%rdx) + movb 22(%rdx), %dil + movb 22(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 22(%rdx) + movb 23(%rdx), %dil + movb 23(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 23(%rdx) + movb 24(%rdx), %dil + movb 24(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 24(%rdx) + movb 25(%rdx), %dil + movb 25(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 25(%rdx) + movb 26(%rdx), %dil + movb 26(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 26(%rdx) + movb 27(%rdx), %dil + movb 27(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 27(%rdx) + movb 28(%rdx), %dil + movb 28(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 28(%rdx) + movb 29(%rdx), %dil + movb 29(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 29(%rdx) + movb 30(%rdx), %dil + movb 30(%rax), %r8b + xorb %dil, %r8b + andb %cl, %r8b + xorb %r8b, %dil + movb %dil, 30(%rdx) + movb 31(%rdx), %dil + movb 31(%rax), %al + xorb %dil, %al + andb %cl, %al + xorb %al, %dil + movb %dil, 31(%rdx) + movq $1088, %rax + leaq 176(%rsp), %rcx + leaq -232(%rsp), %rsp + call L_sha3_256$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$2: + leaq 232(%rsp), %rsp + movq (%rsp), %rax + movq $32, %rcx + leaq 144(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_shake256_64$1 +Ljade_kem_kyber_kyber768_amd64_ref_dec$1: + leaq 216(%rsp), %rsp + xorq %rax, %rax + movq 14504(%rsp), %r15 + movq 14512(%rsp), %r14 + movq 14520(%rsp), %r13 + movq 14528(%rsp), %r12 + movq 14536(%rsp), %rbp + movq 14544(%rsp), %rbx + movq 14552(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_ref_enc: +jade_kem_kyber_kyber768_amd64_ref_enc: + movq %rsp, %rax + leaq -88(%rsp), %rsp + andq $-16, %rsp + movq %rax, 80(%rsp) + movq %r15, 32(%rsp) + movq %r14, 40(%rsp) + movq %r13, 48(%rsp) + movq %r12, 56(%rsp) + movq %rbp, 64(%rsp) + movq %rbx, 72(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rdx, %r12 + movq %rsp, %rdi + movq $32, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rax + leaq -13400(%rsp), %rsp + call L_crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_ref_enc$1: + leaq 13400(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r15 + movq 40(%rsp), %r14 + movq 48(%rsp), %r13 + movq 56(%rsp), %r12 + movq 64(%rsp), %rbp + movq 72(%rsp), %rbx + movq 80(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_ref_enc_derand: +jade_kem_kyber_kyber768_amd64_ref_enc_derand: + movq %rsp, %rax + leaq -88(%rsp), %rsp + andq $-8, %rsp + movq %rax, 80(%rsp) + movq %r15, 32(%rsp) + movq %r14, 40(%rsp) + movq %r13, 48(%rsp) + movq %r12, 56(%rsp) + movq %rbp, 64(%rsp) + movq %rbx, 72(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rdx, %r12 + movq %rsp, %rax + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %cl + movb %cl, 31(%rax) + movq %rsp, %rax + leaq -13400(%rsp), %rsp + call L_crypto_kem_enc_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_ref_enc_derand$1: + leaq 13400(%rsp), %rsp + xorq %rax, %rax + movq 32(%rsp), %r15 + movq 40(%rsp), %r14 + movq 48(%rsp), %r13 + movq 56(%rsp), %r12 + movq 64(%rsp), %rbp + movq 72(%rsp), %rbx + movq 80(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_ref_keypair: +jade_kem_kyber_kyber768_amd64_ref_keypair: + movq %rsp, %rax + leaq -120(%rsp), %rsp + andq $-16, %rsp + movq %rax, 112(%rsp) + movq %r15, 64(%rsp) + movq %r14, 72(%rsp) + movq %r13, 80(%rsp) + movq %r12, 88(%rsp) + movq %rbp, 96(%rsp) + movq %rbx, 104(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rdi + movq $64, %rsi + call __jasmin_syscall_randombytes__ + movq %rsp, %rax + leaq -10320(%rsp), %rsp + call L_crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_ref_keypair$1: + leaq 10320(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r15 + movq 72(%rsp), %r14 + movq 80(%rsp), %r13 + movq 88(%rsp), %r12 + movq 96(%rsp), %rbp + movq 104(%rsp), %rbx + movq 112(%rsp), %rsp + ret +_jade_kem_kyber_kyber768_amd64_ref_keypair_derand: +jade_kem_kyber_kyber768_amd64_ref_keypair_derand: + movq %rsp, %rax + leaq -120(%rsp), %rsp + andq $-8, %rsp + movq %rax, 112(%rsp) + movq %r15, 64(%rsp) + movq %r14, 72(%rsp) + movq %r13, 80(%rsp) + movq %r12, 88(%rsp) + movq %rbp, 96(%rsp) + movq %rbx, 104(%rsp) + movq %rdi, %rbp + movq %rsi, %rbx + movq %rsp, %rax + movb (%rdx), %cl + movb %cl, (%rax) + movb 1(%rdx), %cl + movb %cl, 1(%rax) + movb 2(%rdx), %cl + movb %cl, 2(%rax) + movb 3(%rdx), %cl + movb %cl, 3(%rax) + movb 4(%rdx), %cl + movb %cl, 4(%rax) + movb 5(%rdx), %cl + movb %cl, 5(%rax) + movb 6(%rdx), %cl + movb %cl, 6(%rax) + movb 7(%rdx), %cl + movb %cl, 7(%rax) + movb 8(%rdx), %cl + movb %cl, 8(%rax) + movb 9(%rdx), %cl + movb %cl, 9(%rax) + movb 10(%rdx), %cl + movb %cl, 10(%rax) + movb 11(%rdx), %cl + movb %cl, 11(%rax) + movb 12(%rdx), %cl + movb %cl, 12(%rax) + movb 13(%rdx), %cl + movb %cl, 13(%rax) + movb 14(%rdx), %cl + movb %cl, 14(%rax) + movb 15(%rdx), %cl + movb %cl, 15(%rax) + movb 16(%rdx), %cl + movb %cl, 16(%rax) + movb 17(%rdx), %cl + movb %cl, 17(%rax) + movb 18(%rdx), %cl + movb %cl, 18(%rax) + movb 19(%rdx), %cl + movb %cl, 19(%rax) + movb 20(%rdx), %cl + movb %cl, 20(%rax) + movb 21(%rdx), %cl + movb %cl, 21(%rax) + movb 22(%rdx), %cl + movb %cl, 22(%rax) + movb 23(%rdx), %cl + movb %cl, 23(%rax) + movb 24(%rdx), %cl + movb %cl, 24(%rax) + movb 25(%rdx), %cl + movb %cl, 25(%rax) + movb 26(%rdx), %cl + movb %cl, 26(%rax) + movb 27(%rdx), %cl + movb %cl, 27(%rax) + movb 28(%rdx), %cl + movb %cl, 28(%rax) + movb 29(%rdx), %cl + movb %cl, 29(%rax) + movb 30(%rdx), %cl + movb %cl, 30(%rax) + movb 31(%rdx), %cl + movb %cl, 31(%rax) + movb 32(%rdx), %cl + movb %cl, 32(%rax) + movb 33(%rdx), %cl + movb %cl, 33(%rax) + movb 34(%rdx), %cl + movb %cl, 34(%rax) + movb 35(%rdx), %cl + movb %cl, 35(%rax) + movb 36(%rdx), %cl + movb %cl, 36(%rax) + movb 37(%rdx), %cl + movb %cl, 37(%rax) + movb 38(%rdx), %cl + movb %cl, 38(%rax) + movb 39(%rdx), %cl + movb %cl, 39(%rax) + movb 40(%rdx), %cl + movb %cl, 40(%rax) + movb 41(%rdx), %cl + movb %cl, 41(%rax) + movb 42(%rdx), %cl + movb %cl, 42(%rax) + movb 43(%rdx), %cl + movb %cl, 43(%rax) + movb 44(%rdx), %cl + movb %cl, 44(%rax) + movb 45(%rdx), %cl + movb %cl, 45(%rax) + movb 46(%rdx), %cl + movb %cl, 46(%rax) + movb 47(%rdx), %cl + movb %cl, 47(%rax) + movb 48(%rdx), %cl + movb %cl, 48(%rax) + movb 49(%rdx), %cl + movb %cl, 49(%rax) + movb 50(%rdx), %cl + movb %cl, 50(%rax) + movb 51(%rdx), %cl + movb %cl, 51(%rax) + movb 52(%rdx), %cl + movb %cl, 52(%rax) + movb 53(%rdx), %cl + movb %cl, 53(%rax) + movb 54(%rdx), %cl + movb %cl, 54(%rax) + movb 55(%rdx), %cl + movb %cl, 55(%rax) + movb 56(%rdx), %cl + movb %cl, 56(%rax) + movb 57(%rdx), %cl + movb %cl, 57(%rax) + movb 58(%rdx), %cl + movb %cl, 58(%rax) + movb 59(%rdx), %cl + movb %cl, 59(%rax) + movb 60(%rdx), %cl + movb %cl, 60(%rax) + movb 61(%rdx), %cl + movb %cl, 61(%rax) + movb 62(%rdx), %cl + movb %cl, 62(%rax) + movb 63(%rdx), %cl + movb %cl, 63(%rax) + movq %rsp, %rax + leaq -10320(%rsp), %rsp + call L_crypto_kem_keypair_derand_jazz$1 +Ljade_kem_kyber_kyber768_amd64_ref_keypair_derand$1: + leaq 10320(%rsp), %rsp + xorq %rax, %rax + movq 64(%rsp), %r15 + movq 72(%rsp), %r14 + movq 80(%rsp), %r13 + movq 88(%rsp), %r12 + movq 96(%rsp), %rbp + movq 104(%rsp), %rbx + movq 112(%rsp), %rsp + ret +L_crypto_kem_enc_derand_jazz$1: + movq %r12, 8(%rsp) + movq %rbp, 16(%rsp) + movq %rbx, 24(%rsp) + movq (%rax), %rcx + movq %rcx, 72(%rsp) + movq 8(%rax), %rcx + movq %rcx, 80(%rsp) + movq 16(%rax), %rcx + movq %rcx, 88(%rsp) + movq 24(%rax), %rax + movq %rax, 96(%rsp) + leaq 136(%rsp), %rax + leaq 72(%rsp), %rdx + leaq -208(%rsp), %rsp + call L_sha3_256_32$1 +L_crypto_kem_enc_derand_jazz$208: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rsi + movq $1184, %rax + leaq 168(%rsp), %rcx + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L_crypto_kem_enc_derand_jazz$207: + leaq 232(%rsp), %rsp + leaq 72(%rsp), %rax + leaq 136(%rsp), %rdx + leaq -208(%rsp), %rsp + call L_sha3_512_64$1 +L_crypto_kem_enc_derand_jazz$206: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rdx + leaq 136(%rsp), %rcx + leaq 104(%rsp), %rax + movq %rdx, %rsi + leaq 2448(%rsp), %rdi + call L_poly_frombytes$1 +L_crypto_kem_enc_derand_jazz$205: + addq $384, %rsi + leaq 2960(%rsp), %rdi + call L_poly_frombytes$1 +L_crypto_kem_enc_derand_jazz$204: + addq $384, %rsi + leaq 3472(%rsp), %rdi + call L_poly_frombytes$1 +L_crypto_kem_enc_derand_jazz$203: + movq $0, %rsi + addq $1152, %rdx + jmp L_crypto_kem_enc_derand_jazz$201 +L_crypto_kem_enc_derand_jazz$202: + movq (%rdx), %rdi + movq %rdi, 40(%rsp,%rsi,8) + addq $8, %rdx + incq %rsi +L_crypto_kem_enc_derand_jazz$201: + cmpq $4, %rsi + jb L_crypto_kem_enc_derand_jazz$202 + leaq 912(%rsp), %rdx + call L_i_poly_frommsg$1 +L_crypto_kem_enc_derand_jazz$200: + movq $1, %rcx + movq %rcx, 8(%rsp) + movb 40(%rsp), %cl + movb %cl, 13200(%rsp) + movb 41(%rsp), %cl + movb %cl, 13201(%rsp) + movb 42(%rsp), %cl + movb %cl, 13202(%rsp) + movb 43(%rsp), %cl + movb %cl, 13203(%rsp) + movb 44(%rsp), %cl + movb %cl, 13204(%rsp) + movb 45(%rsp), %cl + movb %cl, 13205(%rsp) + movb 46(%rsp), %cl + movb %cl, 13206(%rsp) + movb 47(%rsp), %cl + movb %cl, 13207(%rsp) + movb 48(%rsp), %cl + movb %cl, 13208(%rsp) + movb 49(%rsp), %cl + movb %cl, 13209(%rsp) + movb 50(%rsp), %cl + movb %cl, 13210(%rsp) + movb 51(%rsp), %cl + movb %cl, 13211(%rsp) + movb 52(%rsp), %cl + movb %cl, 13212(%rsp) + movb 53(%rsp), %cl + movb %cl, 13213(%rsp) + movb 54(%rsp), %cl + movb %cl, 13214(%rsp) + movb 55(%rsp), %cl + movb %cl, 13215(%rsp) + movb 56(%rsp), %cl + movb %cl, 13216(%rsp) + movb 57(%rsp), %cl + movb %cl, 13217(%rsp) + movb 58(%rsp), %cl + movb %cl, 13218(%rsp) + movb 59(%rsp), %cl + movb %cl, 13219(%rsp) + movb 60(%rsp), %cl + movb %cl, 13220(%rsp) + movb 61(%rsp), %cl + movb %cl, 13221(%rsp) + movb 62(%rsp), %cl + movb %cl, 13222(%rsp) + movb 63(%rsp), %cl + movb %cl, 13223(%rsp) + movb 64(%rsp), %cl + movb %cl, 13224(%rsp) + movb 65(%rsp), %cl + movb %cl, 13225(%rsp) + movb 66(%rsp), %cl + movb %cl, 13226(%rsp) + movb 67(%rsp), %cl + movb %cl, 13227(%rsp) + movb 68(%rsp), %cl + movb %cl, 13228(%rsp) + movb 69(%rsp), %cl + movb %cl, 13229(%rsp) + movb 70(%rsp), %cl + movb %cl, 13230(%rsp) + movb 71(%rsp), %cl + movb %cl, 13231(%rsp) + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$198 + movb $0, 13232(%rsp) + movb $0, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$199 +L_crypto_kem_enc_derand_jazz$198: + movb $0, 13232(%rsp) + movb $0, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$199: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$197: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$195 +L_crypto_kem_enc_derand_jazz$196: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$195: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$196 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$187 +L_crypto_kem_enc_derand_jazz$188: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$194: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$189: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$192 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$192 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$193: +L_crypto_kem_enc_derand_jazz$192: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$190 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$190 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$191: +L_crypto_kem_enc_derand_jazz$190: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$189 +L_crypto_kem_enc_derand_jazz$187: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$188 + movq $0, %rcx + movq $0, %rdx + jmp L_crypto_kem_enc_derand_jazz$185 +L_crypto_kem_enc_derand_jazz$186: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$185: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$186 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$183 + movb $0, 13232(%rsp) + movb $1, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$184 +L_crypto_kem_enc_derand_jazz$183: + movb $1, 13232(%rsp) + movb $0, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$184: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$182: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$180 +L_crypto_kem_enc_derand_jazz$181: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$180: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$181 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$172 +L_crypto_kem_enc_derand_jazz$173: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$179: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$174: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$177 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$177 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$178: +L_crypto_kem_enc_derand_jazz$177: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$175 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$175 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$176: +L_crypto_kem_enc_derand_jazz$175: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$174 +L_crypto_kem_enc_derand_jazz$172: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$173 + movq $0, %rcx + movq $256, %rdx + jmp L_crypto_kem_enc_derand_jazz$170 +L_crypto_kem_enc_derand_jazz$171: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$170: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$171 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$168 + movb $0, 13232(%rsp) + movb $2, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$169 +L_crypto_kem_enc_derand_jazz$168: + movb $2, 13232(%rsp) + movb $0, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$169: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$167: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$165 +L_crypto_kem_enc_derand_jazz$166: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$165: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$166 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$157 +L_crypto_kem_enc_derand_jazz$158: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$164: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$159: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$162 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$162 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$163: +L_crypto_kem_enc_derand_jazz$162: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$160 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$160 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$161: +L_crypto_kem_enc_derand_jazz$160: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$159 +L_crypto_kem_enc_derand_jazz$157: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$158 + movq $0, %rcx + movq $512, %rdx + jmp L_crypto_kem_enc_derand_jazz$155 +L_crypto_kem_enc_derand_jazz$156: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$155: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$156 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$153 + movb $1, 13232(%rsp) + movb $0, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$154 +L_crypto_kem_enc_derand_jazz$153: + movb $0, 13232(%rsp) + movb $1, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$154: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$152: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$150 +L_crypto_kem_enc_derand_jazz$151: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$150: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$151 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$142 +L_crypto_kem_enc_derand_jazz$143: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$149: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$144: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$147 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$147 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$148: +L_crypto_kem_enc_derand_jazz$147: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$145 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$145 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$146: +L_crypto_kem_enc_derand_jazz$145: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$144 +L_crypto_kem_enc_derand_jazz$142: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$143 + movq $0, %rcx + movq $768, %rdx + jmp L_crypto_kem_enc_derand_jazz$140 +L_crypto_kem_enc_derand_jazz$141: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$140: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$141 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$138 + movb $1, 13232(%rsp) + movb $1, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$139 +L_crypto_kem_enc_derand_jazz$138: + movb $1, 13232(%rsp) + movb $1, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$139: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$137: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$135 +L_crypto_kem_enc_derand_jazz$136: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$135: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$136 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$127 +L_crypto_kem_enc_derand_jazz$128: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$134: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$129: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$132 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$132 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$133: +L_crypto_kem_enc_derand_jazz$132: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$130 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$130 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$131: +L_crypto_kem_enc_derand_jazz$130: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$129 +L_crypto_kem_enc_derand_jazz$127: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$128 + movq $0, %rcx + movq $1024, %rdx + jmp L_crypto_kem_enc_derand_jazz$125 +L_crypto_kem_enc_derand_jazz$126: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$125: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$126 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$123 + movb $1, 13232(%rsp) + movb $2, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$124 +L_crypto_kem_enc_derand_jazz$123: + movb $2, 13232(%rsp) + movb $1, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$124: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$122: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$120 +L_crypto_kem_enc_derand_jazz$121: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$120: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$121 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$112 +L_crypto_kem_enc_derand_jazz$113: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$119: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$114: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$117 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$117 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$118: +L_crypto_kem_enc_derand_jazz$117: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$115 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$115 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$116: +L_crypto_kem_enc_derand_jazz$115: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$114 +L_crypto_kem_enc_derand_jazz$112: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$113 + movq $0, %rcx + movq $1280, %rdx + jmp L_crypto_kem_enc_derand_jazz$110 +L_crypto_kem_enc_derand_jazz$111: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$110: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$111 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$108 + movb $2, 13232(%rsp) + movb $0, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$109 +L_crypto_kem_enc_derand_jazz$108: + movb $0, 13232(%rsp) + movb $2, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$109: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$107: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$105 +L_crypto_kem_enc_derand_jazz$106: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$105: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$106 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$97 +L_crypto_kem_enc_derand_jazz$98: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$104: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$99: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$102 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$102 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$103: +L_crypto_kem_enc_derand_jazz$102: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$100 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$100 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$101: +L_crypto_kem_enc_derand_jazz$100: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$99 +L_crypto_kem_enc_derand_jazz$97: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$98 + movq $0, %rcx + movq $1536, %rdx + jmp L_crypto_kem_enc_derand_jazz$95 +L_crypto_kem_enc_derand_jazz$96: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$95: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$96 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$93 + movb $2, 13232(%rsp) + movb $1, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$94 +L_crypto_kem_enc_derand_jazz$93: + movb $1, 13232(%rsp) + movb $2, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$94: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$92: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$90 +L_crypto_kem_enc_derand_jazz$91: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$90: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$91 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$82 +L_crypto_kem_enc_derand_jazz$83: + movq %rcx, 32(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$89: + leaq 8(%rsp), %rsp + movq 32(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$84: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$87 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$87 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$88: +L_crypto_kem_enc_derand_jazz$87: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$85 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$85 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$86: +L_crypto_kem_enc_derand_jazz$85: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$84 +L_crypto_kem_enc_derand_jazz$82: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$83 + movq $0, %rcx + movq $1792, %rdx + jmp L_crypto_kem_enc_derand_jazz$80 +L_crypto_kem_enc_derand_jazz$81: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$80: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$81 + movq 8(%rsp), %rcx + cmpq $0, %rcx + je L_crypto_kem_enc_derand_jazz$78 + movb $2, 13232(%rsp) + movb $2, 13233(%rsp) + jmp L_crypto_kem_enc_derand_jazz$79 +L_crypto_kem_enc_derand_jazz$78: + movb $2, 13232(%rsp) + movb $2, 13233(%rsp) +L_crypto_kem_enc_derand_jazz$79: + leaq 200(%rsp), %rcx + leaq 13200(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_enc_derand_jazz$77: + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$75 +L_crypto_kem_enc_derand_jazz$76: + movq %rcx, 400(%rsp,%rcx,8) + incq %rcx +L_crypto_kem_enc_derand_jazz$75: + cmpq $64, %rcx + jb L_crypto_kem_enc_derand_jazz$76 + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$67 +L_crypto_kem_enc_derand_jazz$68: + movq %rcx, 8(%rsp) + leaq 200(%rsp), %rcx + leaq 13234(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_enc_derand_jazz$74: + leaq 8(%rsp), %rsp + movq 8(%rsp), %rcx + movq $0, %rdx +L_crypto_kem_enc_derand_jazz$69: + movzbw 13234(%rsp,%rdx), %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + movw %di, %r8w + shrw $4, %r8w + andw $15, %di + shlw $8, %di + orw %di, %si + incq %rdx + movzbw 13234(%rsp,%rdx), %di + shlw $4, %di + orw %di, %r8w + incq %rdx + cmpw $3329, %si + jnb L_crypto_kem_enc_derand_jazz$72 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$72 + movw %si, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$73: +L_crypto_kem_enc_derand_jazz$72: + cmpw $3329, %r8w + jnb L_crypto_kem_enc_derand_jazz$70 + cmpq $256, %rcx + jnb L_crypto_kem_enc_derand_jazz$70 + movw %r8w, 400(%rsp,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$71: +L_crypto_kem_enc_derand_jazz$70: + cmpq $166, %rdx + jb L_crypto_kem_enc_derand_jazz$69 +L_crypto_kem_enc_derand_jazz$67: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$68 + movq $0, %rcx + movq $2048, %rdx + jmp L_crypto_kem_enc_derand_jazz$65 +L_crypto_kem_enc_derand_jazz$66: + movw 400(%rsp,%rcx,2), %si + movw %si, 8592(%rsp,%rdx,2) + incq %rcx + incq %rdx +L_crypto_kem_enc_derand_jazz$65: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$66 + movb $0, %cl + leaq 3984(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$64: + leaq 176(%rsp), %rsp + movb $1, %cl + leaq 4496(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$63: + leaq 176(%rsp), %rsp + movb $2, %cl + leaq 5008(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$62: + leaq 176(%rsp), %rsp + movb $3, %cl + leaq 5520(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$61: + leaq 176(%rsp), %rsp + movb $4, %cl + leaq 6032(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$60: + leaq 176(%rsp), %rsp + movb $5, %cl + leaq 6544(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$59: + leaq 176(%rsp), %rsp + movb $6, %cl + leaq 400(%rsp), %rdx + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_enc_derand_jazz$58: + leaq 176(%rsp), %rsp + leaq 3984(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_enc_derand_jazz$57: + leaq 4496(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_enc_derand_jazz$56: + leaq 5008(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_enc_derand_jazz$55: + leaq 7056(%rsp), %rdi + leaq 8592(%rsp), %rcx + leaq 3984(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$54: + leaq 16(%rsp), %rsp + leaq 1424(%rsp), %rdi + leaq 9104(%rsp), %rcx + leaq 4496(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$53: + leaq 16(%rsp), %rsp + leaq 7056(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$52: + leaq 1424(%rsp), %rdi + leaq 9616(%rsp), %rcx + leaq 5008(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$51: + leaq 16(%rsp), %rsp + leaq 7056(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$50: + leaq 7056(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$48 +L_crypto_kem_enc_derand_jazz$49: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$48: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$49 + leaq 7568(%rsp), %rdi + leaq 10128(%rsp), %rcx + leaq 3984(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$47: + leaq 16(%rsp), %rsp + leaq 1424(%rsp), %rdi + leaq 10640(%rsp), %rcx + leaq 4496(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$46: + leaq 16(%rsp), %rsp + leaq 7568(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$45: + leaq 1424(%rsp), %rdi + leaq 11152(%rsp), %rcx + leaq 5008(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$44: + leaq 16(%rsp), %rsp + leaq 7568(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$43: + leaq 7568(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$41 +L_crypto_kem_enc_derand_jazz$42: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$41: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$42 + leaq 8080(%rsp), %rdi + leaq 11664(%rsp), %rcx + leaq 3984(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$40: + leaq 16(%rsp), %rsp + leaq 1424(%rsp), %rdi + leaq 12176(%rsp), %rcx + leaq 4496(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$39: + leaq 16(%rsp), %rsp + leaq 8080(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$38: + leaq 1424(%rsp), %rdi + leaq 12688(%rsp), %rcx + leaq 5008(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$37: + leaq 16(%rsp), %rsp + leaq 8080(%rsp), %rcx + leaq 1424(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$36: + leaq 8080(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$34 +L_crypto_kem_enc_derand_jazz$35: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$34: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$35 + leaq 1424(%rsp), %rdi + leaq 2448(%rsp), %rcx + leaq 3984(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$33: + leaq 16(%rsp), %rsp + leaq 1936(%rsp), %rdi + leaq 2960(%rsp), %rcx + leaq 4496(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$32: + leaq 16(%rsp), %rsp + leaq 1424(%rsp), %rcx + leaq 1936(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$31: + leaq 1936(%rsp), %rdi + leaq 3472(%rsp), %rcx + leaq 5008(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_enc_derand_jazz$30: + leaq 16(%rsp), %rsp + leaq 1424(%rsp), %rcx + leaq 1936(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$29: + leaq 1424(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$27 +L_crypto_kem_enc_derand_jazz$28: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$27: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$28 + leaq 7056(%rsp), %rcx + call L_poly_invntt$1 +L_crypto_kem_enc_derand_jazz$26: + leaq 7568(%rsp), %rcx + call L_poly_invntt$1 +L_crypto_kem_enc_derand_jazz$25: + leaq 8080(%rsp), %rcx + call L_poly_invntt$1 +L_crypto_kem_enc_derand_jazz$24: + leaq 1424(%rsp), %rcx + call L_poly_invntt$1 +L_crypto_kem_enc_derand_jazz$23: + leaq 7056(%rsp), %rcx + leaq 5520(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$22: + leaq 7568(%rsp), %rcx + leaq 6032(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$21: + leaq 8080(%rsp), %rcx + leaq 6544(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$20: + leaq 1424(%rsp), %rcx + leaq 400(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$19: + leaq 1424(%rsp), %rcx + leaq 912(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_enc_derand_jazz$18: + leaq 7056(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$16 +L_crypto_kem_enc_derand_jazz$17: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$16: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$17 + leaq 7568(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$14 +L_crypto_kem_enc_derand_jazz$15: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$14: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$15 + leaq 8080(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$12 +L_crypto_kem_enc_derand_jazz$13: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$12: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$13 + leaq 1424(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_enc_derand_jazz$10 +L_crypto_kem_enc_derand_jazz$11: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_enc_derand_jazz$10: + cmpq $256, %rcx + jb L_crypto_kem_enc_derand_jazz$11 + movq 16(%rsp), %rax + movq $0, %rdx + movq $0, %rsi + leaq 7056(%rsp), %rcx + call L_poly_csubq$1 +L_crypto_kem_enc_derand_jazz$9: + leaq 7568(%rsp), %rcx + call L_poly_csubq$1 +L_crypto_kem_enc_derand_jazz$8: + leaq 8080(%rsp), %rcx + call L_poly_csubq$1 +L_crypto_kem_enc_derand_jazz$7: + jmp L_crypto_kem_enc_derand_jazz$5 +L_crypto_kem_enc_derand_jazz$6: + movzwq 7056(%rsp,%rdx,2), %rcx + incq %rdx + shlq $10, %rcx + addq $1665, %rcx + imulq $1290167, %rcx, %rcx + shrq $32, %rcx + andq $1023, %rcx + movzwq 7056(%rsp,%rdx,2), %rdi + incq %rdx + shlq $10, %rdi + addq $1665, %rdi + imulq $1290167, %rdi, %rdi + shrq $32, %rdi + andq $1023, %rdi + movzwq 7056(%rsp,%rdx,2), %r8 + incq %rdx + shlq $10, %r8 + addq $1665, %r8 + imulq $1290167, %r8, %r8 + shrq $32, %r8 + andq $1023, %r8 + movzwq 7056(%rsp,%rdx,2), %r9 + incq %rdx + shlq $10, %r9 + addq $1665, %r9 + imulq $1290167, %r9, %r9 + shrq $32, %r9 + andq $1023, %r9 + movw %cx, %r10w + andw $255, %r10w + movb %r10b, (%rax,%rsi) + incq %rsi + shrw $8, %cx + movw %di, %r10w + shlw $2, %r10w + orw %cx, %r10w + movb %r10b, (%rax,%rsi) + incq %rsi + shrw $6, %di + movw %r8w, %cx + shlw $4, %cx + orw %di, %cx + movb %cl, (%rax,%rsi) + incq %rsi + shrw $4, %r8w + movw %r9w, %cx + shlw $6, %cx + orw %r8w, %cx + movb %cl, (%rax,%rsi) + incq %rsi + shrq $2, %r9 + movb %r9b, (%rax,%rsi) + incq %rsi +L_crypto_kem_enc_derand_jazz$5: + cmpq $768, %rdx + jb L_crypto_kem_enc_derand_jazz$6 + addq $960, %rax + leaq 1424(%rsp), %rcx + call L_poly_compress$1 +L_crypto_kem_enc_derand_jazz$4: + movq 16(%rsp), %rsi + movq $1088, %rax + leaq 104(%rsp), %rcx + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L_crypto_kem_enc_derand_jazz$3: + leaq 232(%rsp), %rsp + movq 24(%rsp), %rax + movq $32, %rcx + leaq 72(%rsp), %rdx + leaq -216(%rsp), %rsp + call L_shake256_64$1 +L_crypto_kem_enc_derand_jazz$2: + leaq 216(%rsp), %rsp + ret +L_crypto_kem_keypair_derand_jazz$1: + movq %rax, 8(%rsp) + movq %rbp, 16(%rsp) + movq %rbx, 24(%rsp) + movq %rbp, 32(%rsp) + movq %rbx, 40(%rsp) + movq (%rax), %rcx + movq %rcx, 64(%rsp) + movq 8(%rax), %rcx + movq %rcx, 72(%rsp) + movq 16(%rax), %rcx + movq %rcx, 80(%rsp) + movq 24(%rax), %rax + movq %rax, 88(%rsp) + leaq 128(%rsp), %rcx + leaq 64(%rsp), %rax + leaq -208(%rsp), %rsp + call L_sha3_512_32$1 +L_crypto_kem_keypair_derand_jazz$189: + leaq 208(%rsp), %rsp + movq 128(%rsp), %rax + movq %rax, 96(%rsp) + movq 160(%rsp), %rax + movq %rax, 64(%rsp) + movq 136(%rsp), %rax + movq %rax, 104(%rsp) + movq 168(%rsp), %rax + movq %rax, 72(%rsp) + movq 144(%rsp), %rax + movq %rax, 112(%rsp) + movq 176(%rsp), %rax + movq %rax, 80(%rsp) + movq 152(%rsp), %rax + movq %rax, 120(%rsp) + movq 184(%rsp), %rax + movq %rax, 88(%rsp) + movq $0, %rax + movq %rax, 48(%rsp) + movb 96(%rsp), %al + movb %al, 10120(%rsp) + movb 97(%rsp), %al + movb %al, 10121(%rsp) + movb 98(%rsp), %al + movb %al, 10122(%rsp) + movb 99(%rsp), %al + movb %al, 10123(%rsp) + movb 100(%rsp), %al + movb %al, 10124(%rsp) + movb 101(%rsp), %al + movb %al, 10125(%rsp) + movb 102(%rsp), %al + movb %al, 10126(%rsp) + movb 103(%rsp), %al + movb %al, 10127(%rsp) + movb 104(%rsp), %al + movb %al, 10128(%rsp) + movb 105(%rsp), %al + movb %al, 10129(%rsp) + movb 106(%rsp), %al + movb %al, 10130(%rsp) + movb 107(%rsp), %al + movb %al, 10131(%rsp) + movb 108(%rsp), %al + movb %al, 10132(%rsp) + movb 109(%rsp), %al + movb %al, 10133(%rsp) + movb 110(%rsp), %al + movb %al, 10134(%rsp) + movb 111(%rsp), %al + movb %al, 10135(%rsp) + movb 112(%rsp), %al + movb %al, 10136(%rsp) + movb 113(%rsp), %al + movb %al, 10137(%rsp) + movb 114(%rsp), %al + movb %al, 10138(%rsp) + movb 115(%rsp), %al + movb %al, 10139(%rsp) + movb 116(%rsp), %al + movb %al, 10140(%rsp) + movb 117(%rsp), %al + movb %al, 10141(%rsp) + movb 118(%rsp), %al + movb %al, 10142(%rsp) + movb 119(%rsp), %al + movb %al, 10143(%rsp) + movb 120(%rsp), %al + movb %al, 10144(%rsp) + movb 121(%rsp), %al + movb %al, 10145(%rsp) + movb 122(%rsp), %al + movb %al, 10146(%rsp) + movb 123(%rsp), %al + movb %al, 10147(%rsp) + movb 124(%rsp), %al + movb %al, 10148(%rsp) + movb 125(%rsp), %al + movb %al, 10149(%rsp) + movb 126(%rsp), %al + movb %al, 10150(%rsp) + movb 127(%rsp), %al + movb %al, 10151(%rsp) + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$187 + movb $0, 10152(%rsp) + movb $0, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$188 +L_crypto_kem_keypair_derand_jazz$187: + movb $0, 10152(%rsp) + movb $0, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$188: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$186: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$184 +L_crypto_kem_keypair_derand_jazz$185: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$184: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$185 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$176 +L_crypto_kem_keypair_derand_jazz$177: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$183: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$178: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$181 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$181 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$182: +L_crypto_kem_keypair_derand_jazz$181: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$179 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$179 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$180: +L_crypto_kem_keypair_derand_jazz$179: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$178 +L_crypto_kem_keypair_derand_jazz$176: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$177 + movq $0, %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$174 +L_crypto_kem_keypair_derand_jazz$175: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$174: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$175 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$172 + movb $0, 10152(%rsp) + movb $1, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$173 +L_crypto_kem_keypair_derand_jazz$172: + movb $1, 10152(%rsp) + movb $0, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$173: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$171: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$169 +L_crypto_kem_keypair_derand_jazz$170: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$169: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$170 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$161 +L_crypto_kem_keypair_derand_jazz$162: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$168: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$163: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$166 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$166 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$167: +L_crypto_kem_keypair_derand_jazz$166: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$164 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$164 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$165: +L_crypto_kem_keypair_derand_jazz$164: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$163 +L_crypto_kem_keypair_derand_jazz$161: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$162 + movq $0, %rax + movq $256, %rcx + jmp L_crypto_kem_keypair_derand_jazz$159 +L_crypto_kem_keypair_derand_jazz$160: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$159: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$160 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$157 + movb $0, 10152(%rsp) + movb $2, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$158 +L_crypto_kem_keypair_derand_jazz$157: + movb $2, 10152(%rsp) + movb $0, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$158: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$156: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$154 +L_crypto_kem_keypair_derand_jazz$155: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$154: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$155 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$146 +L_crypto_kem_keypair_derand_jazz$147: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$153: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$148: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$151 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$151 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$152: +L_crypto_kem_keypair_derand_jazz$151: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$149 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$149 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$150: +L_crypto_kem_keypair_derand_jazz$149: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$148 +L_crypto_kem_keypair_derand_jazz$146: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$147 + movq $0, %rax + movq $512, %rcx + jmp L_crypto_kem_keypair_derand_jazz$144 +L_crypto_kem_keypair_derand_jazz$145: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$144: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$145 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$142 + movb $1, 10152(%rsp) + movb $0, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$143 +L_crypto_kem_keypair_derand_jazz$142: + movb $0, 10152(%rsp) + movb $1, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$143: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$141: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$139 +L_crypto_kem_keypair_derand_jazz$140: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$139: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$140 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$131 +L_crypto_kem_keypair_derand_jazz$132: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$138: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$133: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$136 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$136 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$137: +L_crypto_kem_keypair_derand_jazz$136: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$134 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$134 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$135: +L_crypto_kem_keypair_derand_jazz$134: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$133 +L_crypto_kem_keypair_derand_jazz$131: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$132 + movq $0, %rax + movq $768, %rcx + jmp L_crypto_kem_keypair_derand_jazz$129 +L_crypto_kem_keypair_derand_jazz$130: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$129: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$130 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$127 + movb $1, 10152(%rsp) + movb $1, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$128 +L_crypto_kem_keypair_derand_jazz$127: + movb $1, 10152(%rsp) + movb $1, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$128: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$126: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$124 +L_crypto_kem_keypair_derand_jazz$125: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$124: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$125 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$116 +L_crypto_kem_keypair_derand_jazz$117: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$123: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$118: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$121 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$121 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$122: +L_crypto_kem_keypair_derand_jazz$121: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$119 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$119 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$120: +L_crypto_kem_keypair_derand_jazz$119: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$118 +L_crypto_kem_keypair_derand_jazz$116: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$117 + movq $0, %rax + movq $1024, %rcx + jmp L_crypto_kem_keypair_derand_jazz$114 +L_crypto_kem_keypair_derand_jazz$115: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$114: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$115 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$112 + movb $1, 10152(%rsp) + movb $2, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$113 +L_crypto_kem_keypair_derand_jazz$112: + movb $2, 10152(%rsp) + movb $1, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$113: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$111: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$109 +L_crypto_kem_keypair_derand_jazz$110: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$109: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$110 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$101 +L_crypto_kem_keypair_derand_jazz$102: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$108: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$103: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$106 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$106 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$107: +L_crypto_kem_keypair_derand_jazz$106: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$104 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$104 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$105: +L_crypto_kem_keypair_derand_jazz$104: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$103 +L_crypto_kem_keypair_derand_jazz$101: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$102 + movq $0, %rax + movq $1280, %rcx + jmp L_crypto_kem_keypair_derand_jazz$99 +L_crypto_kem_keypair_derand_jazz$100: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$99: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$100 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$97 + movb $2, 10152(%rsp) + movb $0, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$98 +L_crypto_kem_keypair_derand_jazz$97: + movb $0, 10152(%rsp) + movb $2, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$98: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$96: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$94 +L_crypto_kem_keypair_derand_jazz$95: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$94: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$95 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$86 +L_crypto_kem_keypair_derand_jazz$87: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$93: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$88: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$91 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$91 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$92: +L_crypto_kem_keypair_derand_jazz$91: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$89 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$89 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$90: +L_crypto_kem_keypair_derand_jazz$89: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$88 +L_crypto_kem_keypair_derand_jazz$86: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$87 + movq $0, %rax + movq $1536, %rcx + jmp L_crypto_kem_keypair_derand_jazz$84 +L_crypto_kem_keypair_derand_jazz$85: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$84: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$85 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$82 + movb $2, 10152(%rsp) + movb $1, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$83 +L_crypto_kem_keypair_derand_jazz$82: + movb $1, 10152(%rsp) + movb $2, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$83: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$81: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$79 +L_crypto_kem_keypair_derand_jazz$80: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$79: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$80 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$71 +L_crypto_kem_keypair_derand_jazz$72: + movq %rax, 56(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$78: + leaq 8(%rsp), %rsp + movq 56(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$73: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$76 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$76 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$77: +L_crypto_kem_keypair_derand_jazz$76: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$74 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$74 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$75: +L_crypto_kem_keypair_derand_jazz$74: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$73 +L_crypto_kem_keypair_derand_jazz$71: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$72 + movq $0, %rax + movq $1792, %rcx + jmp L_crypto_kem_keypair_derand_jazz$69 +L_crypto_kem_keypair_derand_jazz$70: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$69: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$70 + movq 48(%rsp), %rax + cmpq $0, %rax + je L_crypto_kem_keypair_derand_jazz$67 + movb $2, 10152(%rsp) + movb $2, 10153(%rsp) + jmp L_crypto_kem_keypair_derand_jazz$68 +L_crypto_kem_keypair_derand_jazz$67: + movb $2, 10152(%rsp) + movb $2, 10153(%rsp) +L_crypto_kem_keypair_derand_jazz$68: + leaq 192(%rsp), %rcx + leaq 10120(%rsp), %rdx + call L_shake128_absorb34$1 +L_crypto_kem_keypair_derand_jazz$66: + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$64 +L_crypto_kem_keypair_derand_jazz$65: + movq %rax, 392(%rsp,%rax,8) + incq %rax +L_crypto_kem_keypair_derand_jazz$64: + cmpq $64, %rax + jb L_crypto_kem_keypair_derand_jazz$65 + movq $0, %rax + jmp L_crypto_kem_keypair_derand_jazz$56 +L_crypto_kem_keypair_derand_jazz$57: + movq %rax, 48(%rsp) + leaq 192(%rsp), %rcx + leaq 10154(%rsp), %rdx + leaq -8(%rsp), %rsp + call L_shake128_squeezeblock$1 +L_crypto_kem_keypair_derand_jazz$63: + leaq 8(%rsp), %rsp + movq 48(%rsp), %rax + movq $0, %rcx +L_crypto_kem_keypair_derand_jazz$58: + movzbw 10154(%rsp,%rcx), %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + movw %si, %di + shrw $4, %di + andw $15, %si + shlw $8, %si + orw %si, %dx + incq %rcx + movzbw 10154(%rsp,%rcx), %si + shlw $4, %si + orw %si, %di + incq %rcx + cmpw $3329, %dx + jnb L_crypto_kem_keypair_derand_jazz$61 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$61 + movw %dx, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$62: +L_crypto_kem_keypair_derand_jazz$61: + cmpw $3329, %di + jnb L_crypto_kem_keypair_derand_jazz$59 + cmpq $256, %rax + jnb L_crypto_kem_keypair_derand_jazz$59 + movw %di, 392(%rsp,%rax,2) + incq %rax +L_crypto_kem_keypair_derand_jazz$60: +L_crypto_kem_keypair_derand_jazz$59: + cmpq $166, %rcx + jb L_crypto_kem_keypair_derand_jazz$58 +L_crypto_kem_keypair_derand_jazz$56: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$57 + movq $0, %rax + movq $2048, %rcx + jmp L_crypto_kem_keypair_derand_jazz$54 +L_crypto_kem_keypair_derand_jazz$55: + movw 392(%rsp,%rax,2), %dx + movw %dx, 5512(%rsp,%rcx,2) + incq %rax + incq %rcx +L_crypto_kem_keypair_derand_jazz$54: + cmpq $256, %rax + jb L_crypto_kem_keypair_derand_jazz$55 + movb $0, %cl + leaq 904(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$53: + leaq 176(%rsp), %rsp + movb $1, %cl + leaq 1416(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$52: + leaq 176(%rsp), %rsp + movb $2, %cl + leaq 1928(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$51: + leaq 176(%rsp), %rsp + movb $3, %cl + leaq 2440(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$50: + leaq 176(%rsp), %rsp + movb $4, %cl + leaq 2952(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$49: + leaq 176(%rsp), %rsp + movb $5, %cl + leaq 3464(%rsp), %rdx + leaq 64(%rsp), %rax + leaq -176(%rsp), %rsp + call L_poly_getnoise$1 +L_crypto_kem_keypair_derand_jazz$48: + leaq 176(%rsp), %rsp + leaq 904(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$47: + leaq 1416(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$46: + leaq 1928(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$45: + leaq 2440(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$44: + leaq 2952(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$43: + leaq 3464(%rsp), %rcx + call L_poly_ntt$1 +L_crypto_kem_keypair_derand_jazz$42: + leaq 3976(%rsp), %rdi + leaq 5512(%rsp), %rcx + leaq 904(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$41: + leaq 16(%rsp), %rsp + leaq 392(%rsp), %rdi + leaq 6024(%rsp), %rcx + leaq 1416(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$40: + leaq 16(%rsp), %rsp + leaq 3976(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$39: + leaq 392(%rsp), %rdi + leaq 6536(%rsp), %rcx + leaq 1928(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$38: + leaq 16(%rsp), %rsp + leaq 3976(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$37: + leaq 3976(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$35 +L_crypto_kem_keypair_derand_jazz$36: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$35: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$36 + leaq 3976(%rsp), %rax + call L_poly_frommont$1 +L_crypto_kem_keypair_derand_jazz$34: + leaq 4488(%rsp), %rdi + leaq 7048(%rsp), %rcx + leaq 904(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$33: + leaq 16(%rsp), %rsp + leaq 392(%rsp), %rdi + leaq 7560(%rsp), %rcx + leaq 1416(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$32: + leaq 16(%rsp), %rsp + leaq 4488(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$31: + leaq 392(%rsp), %rdi + leaq 8072(%rsp), %rcx + leaq 1928(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$30: + leaq 16(%rsp), %rsp + leaq 4488(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$29: + leaq 4488(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$27 +L_crypto_kem_keypair_derand_jazz$28: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$27: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$28 + leaq 4488(%rsp), %rax + call L_poly_frommont$1 +L_crypto_kem_keypair_derand_jazz$26: + leaq 5000(%rsp), %rdi + leaq 8584(%rsp), %rcx + leaq 904(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$25: + leaq 16(%rsp), %rsp + leaq 392(%rsp), %rdi + leaq 9096(%rsp), %rcx + leaq 1416(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$24: + leaq 16(%rsp), %rsp + leaq 5000(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$23: + leaq 392(%rsp), %rdi + leaq 9608(%rsp), %rcx + leaq 1928(%rsp), %rsi + leaq -16(%rsp), %rsp + call L_poly_basemul$1 +L_crypto_kem_keypair_derand_jazz$22: + leaq 16(%rsp), %rsp + leaq 5000(%rsp), %rcx + leaq 392(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$21: + leaq 5000(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$19 +L_crypto_kem_keypair_derand_jazz$20: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$19: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$20 + leaq 5000(%rsp), %rax + call L_poly_frommont$1 +L_crypto_kem_keypair_derand_jazz$18: + leaq 3976(%rsp), %rcx + leaq 2440(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$17: + leaq 4488(%rsp), %rcx + leaq 2952(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$16: + leaq 5000(%rsp), %rcx + leaq 3464(%rsp), %rsi + call L_poly_add2$1 +L_crypto_kem_keypair_derand_jazz$15: + leaq 3976(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$13 +L_crypto_kem_keypair_derand_jazz$14: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$13: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$14 + leaq 4488(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$11 +L_crypto_kem_keypair_derand_jazz$12: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$11: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$12 + leaq 5000(%rsp), %rax + movq $0, %rcx + jmp L_crypto_kem_keypair_derand_jazz$9 +L_crypto_kem_keypair_derand_jazz$10: + movw (%rax,%rcx,2), %dx + movswl %dx, %esi + imull $20159, %esi, %esi + sarl $26, %esi + imull $3329, %esi, %esi + subw %si, %dx + movw %dx, (%rax,%rcx,2) + incq %rcx +L_crypto_kem_keypair_derand_jazz$9: + cmpq $256, %rcx + jb L_crypto_kem_keypair_derand_jazz$10 + movq 32(%rsp), %rax + movq 40(%rsp), %rcx + movq %rcx, %rdx + leaq 904(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$8: + addq $384, %rdx + leaq 1416(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$7: + addq $384, %rdx + leaq 1928(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$6: + movq %rax, %rdx + leaq 3976(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$5: + addq $384, %rdx + leaq 4488(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$4: + addq $384, %rdx + leaq 5000(%rsp), %rcx + call L_poly_tobytes$1 +L_crypto_kem_keypair_derand_jazz$3: + addq $1152, %rax + movq 96(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 104(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 112(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 120(%rsp), %rcx + movq %rcx, (%rax) + movq 24(%rsp), %rax + addq $1152, %rax + movq 16(%rsp), %rcx + movq (%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 8(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 16(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 24(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 32(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 40(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 48(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 56(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 64(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 72(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 80(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 88(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 96(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 176(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 184(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 192(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 200(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 208(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 216(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 224(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 232(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 240(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 248(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 256(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 264(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 272(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 280(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 288(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 296(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 304(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 312(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 320(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 328(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 336(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 344(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 352(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 360(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 368(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 376(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 384(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 392(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 400(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 408(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 416(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 424(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 432(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 440(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 448(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 456(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 464(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 472(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 480(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 488(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 496(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 504(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 512(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 520(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 528(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 536(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 544(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 552(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 560(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 568(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 576(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 584(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 592(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 600(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 608(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 616(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 624(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 632(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 640(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 648(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 656(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 664(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 672(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 680(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 688(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 696(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 704(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 712(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 720(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 728(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 736(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 744(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 752(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 760(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 768(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 776(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 784(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 792(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 800(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 808(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 816(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 824(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 832(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 840(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 848(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 856(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 864(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 872(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 880(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 888(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 896(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 904(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 912(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 920(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 928(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 936(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 944(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 952(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 960(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 968(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 976(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 984(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 992(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1000(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1008(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1016(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1024(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1032(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1040(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1048(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1056(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1064(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1072(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1080(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1088(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1096(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1104(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1112(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1120(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1128(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1136(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1144(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1152(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1160(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1168(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 1176(%rcx), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq %rax, 24(%rsp) + movq 16(%rsp), %rsi + movq $1184, %rax + leaq 96(%rsp), %rcx + leaq -232(%rsp), %rsp + call L_sha3_256$1 +L_crypto_kem_keypair_derand_jazz$2: + leaq 232(%rsp), %rsp + movq 24(%rsp), %rax + movq 96(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 104(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 112(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 120(%rsp), %rcx + movq %rcx, (%rax) + addq $8, %rax + movq 8(%rsp), %rcx + leaq 32(%rcx), %rcx + movq (%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 8(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 16(%rcx), %rdx + movq %rdx, (%rax) + addq $8, %rax + movq 24(%rcx), %rcx + movq %rcx, (%rax) + ret +L_i_poly_tomsg$1: + call L_poly_csubq$1 +L_i_poly_tomsg$2: + movb $0, %sil + movw (%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 2(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 4(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 6(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 8(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 10(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 12(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 14(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, (%rax) + movb $0, %sil + movw 16(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 18(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 20(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 22(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 24(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 26(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 28(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 30(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 1(%rax) + movb $0, %sil + movw 32(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 34(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 36(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 38(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 40(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 42(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 44(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 46(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 2(%rax) + movb $0, %sil + movw 48(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 50(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 52(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 54(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 56(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 58(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 60(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 62(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 3(%rax) + movb $0, %sil + movw 64(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 66(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 68(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 70(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 72(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 74(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 76(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 78(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 4(%rax) + movb $0, %sil + movw 80(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 82(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 84(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 86(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 88(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 90(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 92(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 94(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 5(%rax) + movb $0, %sil + movw 96(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 98(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 100(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 102(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 104(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 106(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 108(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 110(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 6(%rax) + movb $0, %sil + movw 112(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 114(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 116(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 118(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 120(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 122(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 124(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 126(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 7(%rax) + movb $0, %sil + movw 128(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 130(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 132(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 134(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 136(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 138(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 140(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 142(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 8(%rax) + movb $0, %sil + movw 144(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 146(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 148(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 150(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 152(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 154(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 156(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 158(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 9(%rax) + movb $0, %sil + movw 160(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 162(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 164(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 166(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 168(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 170(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 172(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 174(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 10(%rax) + movb $0, %sil + movw 176(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 178(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 180(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 182(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 184(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 186(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 188(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 190(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 11(%rax) + movb $0, %sil + movw 192(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 194(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 196(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 198(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 200(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 202(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 204(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 206(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 12(%rax) + movb $0, %sil + movw 208(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 210(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 212(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 214(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 216(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 218(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 220(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 222(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 13(%rax) + movb $0, %sil + movw 224(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 226(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 228(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 230(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 232(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 234(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 236(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 238(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 14(%rax) + movb $0, %sil + movw 240(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 242(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 244(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 246(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 248(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 250(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 252(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 254(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 15(%rax) + movb $0, %sil + movw 256(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 258(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 260(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 262(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 264(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 266(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 268(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 270(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 16(%rax) + movb $0, %sil + movw 272(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 274(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 276(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 278(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 280(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 282(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 284(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 286(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 17(%rax) + movb $0, %sil + movw 288(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 290(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 292(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 294(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 296(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 298(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 300(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 302(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 18(%rax) + movb $0, %sil + movw 304(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 306(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 308(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 310(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 312(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 314(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 316(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 318(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 19(%rax) + movb $0, %sil + movw 320(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 322(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 324(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 326(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 328(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 330(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 332(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 334(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 20(%rax) + movb $0, %sil + movw 336(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 338(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 340(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 342(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 344(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 346(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 348(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 350(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 21(%rax) + movb $0, %sil + movw 352(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 354(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 356(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 358(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 360(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 362(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 364(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 366(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 22(%rax) + movb $0, %sil + movw 368(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 370(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 372(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 374(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 376(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 378(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 380(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 382(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 23(%rax) + movb $0, %sil + movw 384(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 386(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 388(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 390(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 392(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 394(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 396(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 398(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 24(%rax) + movb $0, %sil + movw 400(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 402(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 404(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 406(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 408(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 410(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 412(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 414(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 25(%rax) + movb $0, %sil + movw 416(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 418(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 420(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 422(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 424(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 426(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 428(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 430(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 26(%rax) + movb $0, %sil + movw 432(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 434(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 436(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 438(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 440(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 442(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 444(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 446(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 27(%rax) + movb $0, %sil + movw 448(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 450(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 452(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 454(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 456(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 458(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 460(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 462(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 28(%rax) + movb $0, %sil + movw 464(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 466(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 468(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 470(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 472(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 474(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 476(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 478(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 29(%rax) + movb $0, %sil + movw 480(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 482(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 484(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 486(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 488(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 490(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 492(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 494(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $7, %edi + orb %dil, %sil + movb %sil, 30(%rax) + movb $0, %sil + movw 496(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $0, %edi + orb %dil, %sil + movw 498(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $1, %edi + orb %dil, %sil + movw 500(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $2, %edi + orb %dil, %sil + movw 502(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $3, %edi + orb %dil, %sil + movw 504(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $4, %edi + orb %dil, %sil + movw 506(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $5, %edi + orb %dil, %sil + movw 508(%rcx), %di + movzwl %di, %edi + shll $1, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $1, %edi + shll $6, %edi + orb %dil, %sil + movw 510(%rcx), %cx + movzwl %cx, %ecx + shll $1, %ecx + addl $1665, %ecx + imull $80635, %ecx, %ecx + shrl $28, %ecx + andl $1, %ecx + shll $7, %ecx + orb %cl, %sil + movb %sil, 31(%rax) + ret +L_poly_tobytes$1: + call L_poly_csubq$1 +L_poly_tobytes$4: + movq $0, %rsi + movq $0, %rdi + jmp L_poly_tobytes$2 +L_poly_tobytes$3: + movw (%rcx,%rsi,2), %r8w + incq %rsi + movw (%rcx,%rsi,2), %r9w + incq %rsi + movw %r8w, %r10w + andw $255, %r10w + movb %r10b, (%rdx,%rdi) + incq %rdi + shrw $8, %r8w + movw %r9w, %r10w + andw $15, %r10w + shlw $4, %r10w + orw %r8w, %r10w + movb %r10b, (%rdx,%rdi) + incq %rdi + shrw $4, %r9w + movb %r9b, (%rdx,%rdi) + incq %rdi +L_poly_tobytes$2: + cmpq $256, %rsi + jb L_poly_tobytes$3 + ret +L_poly_sub$1: + movq $0, %r8 + jmp L_poly_sub$2 +L_poly_sub$3: + movw (%rsi,%r8,2), %r9w + movw (%rdi,%r8,2), %r10w + subw %r10w, %r9w + movw %r9w, (%rcx,%r8,2) + incq %r8 +L_poly_sub$2: + cmpq $256, %r8 + jb L_poly_sub$3 + ret +L_poly_ntt$1: + leaq glob_data + 448(%rip), %rsi + movq $0, %rdi + movq $128, %r8 + jmp L_poly_ntt$4 +L_poly_ntt$5: + movq $0, %r11 + jmp L_poly_ntt$6 +L_poly_ntt$7: + incq %rdi + movw (%rsi,%rdi,2), %r9w + movq %r11, %r10 + leaq (%r11,%r8), %r11 + jmp L_poly_ntt$8 +L_poly_ntt$9: + leaq (%r10,%r8), %rbx + movw (%rcx,%rbx,2), %bp + movswl %bp, %ebp + movswl %r9w, %r12d + imull %r12d, %ebp + imull $62209, %ebp, %r12d + shll $16, %r12d + sarl $16, %r12d + imull $3329, %r12d, %r12d + subl %r12d, %ebp + sarl $16, %ebp + movw (%rcx,%r10,2), %r12w + movw %r12w, %r13w + subw %bp, %r13w + movw %r13w, (%rcx,%rbx,2) + addw %r12w, %bp + movw %bp, (%rcx,%r10,2) + incq %r10 +L_poly_ntt$8: + cmpq %r11, %r10 + jb L_poly_ntt$9 + leaq (%r10,%r8), %r11 +L_poly_ntt$6: + cmpq $256, %r11 + jb L_poly_ntt$7 + shrq $1, %r8 +L_poly_ntt$4: + cmpq $2, %r8 + jnb L_poly_ntt$5 + movq $0, %rsi + jmp L_poly_ntt$2 +L_poly_ntt$3: + movw (%rcx,%rsi,2), %di + movswl %di, %r8d + imull $20159, %r8d, %r8d + sarl $26, %r8d + imull $3329, %r8d, %r8d + subw %r8w, %di + movw %di, (%rcx,%rsi,2) + incq %rsi +L_poly_ntt$2: + cmpq $256, %rsi + jb L_poly_ntt$3 + ret +L_poly_invntt$1: + leaq glob_data + 192(%rip), %rsi + movq $0, %rdi + movq $2, %r8 + jmp L_poly_invntt$4 +L_poly_invntt$5: + movq $0, %r11 + jmp L_poly_invntt$6 +L_poly_invntt$7: + movw (%rsi,%rdi,2), %r9w + incq %rdi + movq %r11, %r10 + leaq (%r11,%r8), %r11 + jmp L_poly_invntt$8 +L_poly_invntt$9: + leaq (%r10,%r8), %rbx + movw (%rcx,%rbx,2), %bp + movw (%rcx,%r10,2), %r12w + movw %bp, %r13w + addw %r12w, %r13w + movswl %r13w, %r14d + imull $20159, %r14d, %r14d + sarl $26, %r14d + imull $3329, %r14d, %r14d + subw %r14w, %r13w + movw %r13w, (%rcx,%r10,2) + subw %bp, %r12w + movswl %r12w, %ebp + movswl %r9w, %r12d + imull %r12d, %ebp + imull $62209, %ebp, %r12d + shll $16, %r12d + sarl $16, %r12d + imull $3329, %r12d, %r12d + subl %r12d, %ebp + sarl $16, %ebp + movw %bp, (%rcx,%rbx,2) + incq %r10 +L_poly_invntt$8: + cmpq %r11, %r10 + jb L_poly_invntt$9 + leaq (%r10,%r8), %r11 +L_poly_invntt$6: + cmpq $256, %r11 + jb L_poly_invntt$7 + shlq $1, %r8 +L_poly_invntt$4: + cmpq $128, %r8 + jbe L_poly_invntt$5 + movw 254(%rsi), %si + movq $0, %rdi + jmp L_poly_invntt$2 +L_poly_invntt$3: + movw (%rcx,%rdi,2), %r8w + movswl %r8w, %r8d + movswl %si, %r9d + imull %r9d, %r8d + imull $62209, %r8d, %r9d + shll $16, %r9d + sarl $16, %r9d + imull $3329, %r9d, %r9d + subl %r9d, %r8d + sarl $16, %r8d + movw %r8w, (%rcx,%rdi,2) + incq %rdi +L_poly_invntt$2: + cmpq $256, %rdi + jb L_poly_invntt$3 + ret +L_poly_getnoise$1: + movq %rdx, 8(%rsp) + movb (%rax), %dl + movb %dl, 16(%rsp) + movb 1(%rax), %dl + movb %dl, 17(%rsp) + movb 2(%rax), %dl + movb %dl, 18(%rsp) + movb 3(%rax), %dl + movb %dl, 19(%rsp) + movb 4(%rax), %dl + movb %dl, 20(%rsp) + movb 5(%rax), %dl + movb %dl, 21(%rsp) + movb 6(%rax), %dl + movb %dl, 22(%rsp) + movb 7(%rax), %dl + movb %dl, 23(%rsp) + movb 8(%rax), %dl + movb %dl, 24(%rsp) + movb 9(%rax), %dl + movb %dl, 25(%rsp) + movb 10(%rax), %dl + movb %dl, 26(%rsp) + movb 11(%rax), %dl + movb %dl, 27(%rsp) + movb 12(%rax), %dl + movb %dl, 28(%rsp) + movb 13(%rax), %dl + movb %dl, 29(%rsp) + movb 14(%rax), %dl + movb %dl, 30(%rsp) + movb 15(%rax), %dl + movb %dl, 31(%rsp) + movb 16(%rax), %dl + movb %dl, 32(%rsp) + movb 17(%rax), %dl + movb %dl, 33(%rsp) + movb 18(%rax), %dl + movb %dl, 34(%rsp) + movb 19(%rax), %dl + movb %dl, 35(%rsp) + movb 20(%rax), %dl + movb %dl, 36(%rsp) + movb 21(%rax), %dl + movb %dl, 37(%rsp) + movb 22(%rax), %dl + movb %dl, 38(%rsp) + movb 23(%rax), %dl + movb %dl, 39(%rsp) + movb 24(%rax), %dl + movb %dl, 40(%rsp) + movb 25(%rax), %dl + movb %dl, 41(%rsp) + movb 26(%rax), %dl + movb %dl, 42(%rsp) + movb 27(%rax), %dl + movb %dl, 43(%rsp) + movb 28(%rax), %dl + movb %dl, 44(%rsp) + movb 29(%rax), %dl + movb %dl, 45(%rsp) + movb 30(%rax), %dl + movb %dl, 46(%rsp) + movb 31(%rax), %dl + movb %dl, 47(%rsp) + movb %cl, 48(%rsp) + leaq 49(%rsp), %rcx + leaq 16(%rsp), %rdx + leaq -208(%rsp), %rsp + call L_shake256_128_33$1 +L_poly_getnoise$4: + leaq 208(%rsp), %rsp + movq 8(%rsp), %rcx + movq $0, %rdx + movq $0, %rsi + jmp L_poly_getnoise$2 +L_poly_getnoise$3: + movb 49(%rsp,%rdx), %dil + movb %dil, %r8b + andb $85, %r8b + shrb $1, %dil + andb $85, %dil + addb %r8b, %dil + movb %dil, %r8b + andb $3, %r8b + movb %dil, %r9b + shrb $2, %r9b + andb $3, %r9b + subb %r9b, %r8b + movsbw %r8b, %r8w + movw %r8w, (%rcx,%rsi,2) + movb %dil, %r8b + shrb $4, %r8b + andb $3, %r8b + shrb $6, %dil + andb $3, %dil + subb %dil, %r8b + movsbw %r8b, %di + incq %rsi + movw %di, (%rcx,%rsi,2) + incq %rdx + incq %rsi +L_poly_getnoise$2: + cmpq $128, %rdx + jb L_poly_getnoise$3 + ret +L_i_poly_frommsg$1: + movb (%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, (%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 2(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 4(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 6(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 8(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 10(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 12(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 14(%rdx) + movb 1(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 16(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 18(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 20(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 22(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 24(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 26(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 28(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 30(%rdx) + movb 2(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 32(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 34(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 36(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 38(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 40(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 42(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 44(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 46(%rdx) + movb 3(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 48(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 50(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 52(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 54(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 56(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 58(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 60(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 62(%rdx) + movb 4(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 64(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 66(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 68(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 70(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 72(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 74(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 76(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 78(%rdx) + movb 5(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 80(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 82(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 84(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 86(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 88(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 90(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 92(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 94(%rdx) + movb 6(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 96(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 98(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 100(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 102(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 104(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 106(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 108(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 110(%rdx) + movb 7(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 112(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 114(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 116(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 118(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 120(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 122(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 124(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 126(%rdx) + movb 8(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 128(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 130(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 132(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 134(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 136(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 138(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 140(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 142(%rdx) + movb 9(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 144(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 146(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 148(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 150(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 152(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 154(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 156(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 158(%rdx) + movb 10(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 160(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 162(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 164(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 166(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 168(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 170(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 172(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 174(%rdx) + movb 11(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 176(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 178(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 180(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 182(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 184(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 186(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 188(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 190(%rdx) + movb 12(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 192(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 194(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 196(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 198(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 200(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 202(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 204(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 206(%rdx) + movb 13(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 208(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 210(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 212(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 214(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 216(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 218(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 220(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 222(%rdx) + movb 14(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 224(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 226(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 228(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 230(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 232(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 234(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 236(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 238(%rdx) + movb 15(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 240(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 242(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 244(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 246(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 248(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 250(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 252(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 254(%rdx) + movb 16(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 256(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 258(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 260(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 262(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 264(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 266(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 268(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 270(%rdx) + movb 17(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 272(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 274(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 276(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 278(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 280(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 282(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 284(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 286(%rdx) + movb 18(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 288(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 290(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 292(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 294(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 296(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 298(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 300(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 302(%rdx) + movb 19(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 304(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 306(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 308(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 310(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 312(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 314(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 316(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 318(%rdx) + movb 20(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 320(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 322(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 324(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 326(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 328(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 330(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 332(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 334(%rdx) + movb 21(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 336(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 338(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 340(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 342(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 344(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 346(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 348(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 350(%rdx) + movb 22(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 352(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 354(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 356(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 358(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 360(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 362(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 364(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 366(%rdx) + movb 23(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 368(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 370(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 372(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 374(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 376(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 378(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 380(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 382(%rdx) + movb 24(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 384(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 386(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 388(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 390(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 392(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 394(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 396(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 398(%rdx) + movb 25(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 400(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 402(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 404(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 406(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 408(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 410(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 412(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 414(%rdx) + movb 26(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 416(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 418(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 420(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 422(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 424(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 426(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 428(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 430(%rdx) + movb 27(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 432(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 434(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 436(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 438(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 440(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 442(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 444(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 446(%rdx) + movb 28(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 448(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 450(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 452(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 454(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 456(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 458(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 460(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 462(%rdx) + movb 29(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 464(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 466(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 468(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 470(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 472(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 474(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 476(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 478(%rdx) + movb 30(%rcx), %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 480(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 482(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 484(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 486(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 488(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 490(%rdx) + shrb $1, %sil + movzbw %sil, %di + andw $1, %di + imulw $1665, %di, %di + movw %di, 492(%rdx) + shrb $1, %sil + movzbw %sil, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 494(%rdx) + movb 31(%rcx), %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 496(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 498(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 500(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 502(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 504(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 506(%rdx) + shrb $1, %cl + movzbw %cl, %si + andw $1, %si + imulw $1665, %si, %si + movw %si, 508(%rdx) + shrb $1, %cl + movzbw %cl, %cx + andw $1, %cx + imulw $1665, %cx, %cx + movw %cx, 510(%rdx) + ret +L_poly_frommont$1: + movw $1353, %cx + movq $0, %rdx + jmp L_poly_frommont$2 +L_poly_frommont$3: + movw (%rax,%rdx,2), %si + movswl %si, %esi + movswl %cx, %edi + imull %edi, %esi + imull $62209, %esi, %edi + shll $16, %edi + sarl $16, %edi + imull $3329, %edi, %edi + subl %edi, %esi + sarl $16, %esi + movw %si, (%rax,%rdx,2) + incq %rdx +L_poly_frommont$2: + cmpq $256, %rdx + jb L_poly_frommont$3 + ret +L_poly_frombytes$1: + movb (%rsi), %r8b + movb 1(%rsi), %r9b + movb 2(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, (%rdi) + movw %r10w, 2(%rdi) + movb 3(%rsi), %r8b + movb 4(%rsi), %r9b + movb 5(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 4(%rdi) + movw %r10w, 6(%rdi) + movb 6(%rsi), %r8b + movb 7(%rsi), %r9b + movb 8(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 8(%rdi) + movw %r10w, 10(%rdi) + movb 9(%rsi), %r8b + movb 10(%rsi), %r9b + movb 11(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 12(%rdi) + movw %r10w, 14(%rdi) + movb 12(%rsi), %r8b + movb 13(%rsi), %r9b + movb 14(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 16(%rdi) + movw %r10w, 18(%rdi) + movb 15(%rsi), %r8b + movb 16(%rsi), %r9b + movb 17(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 20(%rdi) + movw %r10w, 22(%rdi) + movb 18(%rsi), %r8b + movb 19(%rsi), %r9b + movb 20(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 24(%rdi) + movw %r10w, 26(%rdi) + movb 21(%rsi), %r8b + movb 22(%rsi), %r9b + movb 23(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 28(%rdi) + movw %r10w, 30(%rdi) + movb 24(%rsi), %r8b + movb 25(%rsi), %r9b + movb 26(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 32(%rdi) + movw %r10w, 34(%rdi) + movb 27(%rsi), %r8b + movb 28(%rsi), %r9b + movb 29(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 36(%rdi) + movw %r10w, 38(%rdi) + movb 30(%rsi), %r8b + movb 31(%rsi), %r9b + movb 32(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 40(%rdi) + movw %r10w, 42(%rdi) + movb 33(%rsi), %r8b + movb 34(%rsi), %r9b + movb 35(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 44(%rdi) + movw %r10w, 46(%rdi) + movb 36(%rsi), %r8b + movb 37(%rsi), %r9b + movb 38(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 48(%rdi) + movw %r10w, 50(%rdi) + movb 39(%rsi), %r8b + movb 40(%rsi), %r9b + movb 41(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 52(%rdi) + movw %r10w, 54(%rdi) + movb 42(%rsi), %r8b + movb 43(%rsi), %r9b + movb 44(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 56(%rdi) + movw %r10w, 58(%rdi) + movb 45(%rsi), %r8b + movb 46(%rsi), %r9b + movb 47(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 60(%rdi) + movw %r10w, 62(%rdi) + movb 48(%rsi), %r8b + movb 49(%rsi), %r9b + movb 50(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 64(%rdi) + movw %r10w, 66(%rdi) + movb 51(%rsi), %r8b + movb 52(%rsi), %r9b + movb 53(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 68(%rdi) + movw %r10w, 70(%rdi) + movb 54(%rsi), %r8b + movb 55(%rsi), %r9b + movb 56(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 72(%rdi) + movw %r10w, 74(%rdi) + movb 57(%rsi), %r8b + movb 58(%rsi), %r9b + movb 59(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 76(%rdi) + movw %r10w, 78(%rdi) + movb 60(%rsi), %r8b + movb 61(%rsi), %r9b + movb 62(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 80(%rdi) + movw %r10w, 82(%rdi) + movb 63(%rsi), %r8b + movb 64(%rsi), %r9b + movb 65(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 84(%rdi) + movw %r10w, 86(%rdi) + movb 66(%rsi), %r8b + movb 67(%rsi), %r9b + movb 68(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 88(%rdi) + movw %r10w, 90(%rdi) + movb 69(%rsi), %r8b + movb 70(%rsi), %r9b + movb 71(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 92(%rdi) + movw %r10w, 94(%rdi) + movb 72(%rsi), %r8b + movb 73(%rsi), %r9b + movb 74(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 96(%rdi) + movw %r10w, 98(%rdi) + movb 75(%rsi), %r8b + movb 76(%rsi), %r9b + movb 77(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 100(%rdi) + movw %r10w, 102(%rdi) + movb 78(%rsi), %r8b + movb 79(%rsi), %r9b + movb 80(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 104(%rdi) + movw %r10w, 106(%rdi) + movb 81(%rsi), %r8b + movb 82(%rsi), %r9b + movb 83(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 108(%rdi) + movw %r10w, 110(%rdi) + movb 84(%rsi), %r8b + movb 85(%rsi), %r9b + movb 86(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 112(%rdi) + movw %r10w, 114(%rdi) + movb 87(%rsi), %r8b + movb 88(%rsi), %r9b + movb 89(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 116(%rdi) + movw %r10w, 118(%rdi) + movb 90(%rsi), %r8b + movb 91(%rsi), %r9b + movb 92(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 120(%rdi) + movw %r10w, 122(%rdi) + movb 93(%rsi), %r8b + movb 94(%rsi), %r9b + movb 95(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 124(%rdi) + movw %r10w, 126(%rdi) + movb 96(%rsi), %r8b + movb 97(%rsi), %r9b + movb 98(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 128(%rdi) + movw %r10w, 130(%rdi) + movb 99(%rsi), %r8b + movb 100(%rsi), %r9b + movb 101(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 132(%rdi) + movw %r10w, 134(%rdi) + movb 102(%rsi), %r8b + movb 103(%rsi), %r9b + movb 104(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 136(%rdi) + movw %r10w, 138(%rdi) + movb 105(%rsi), %r8b + movb 106(%rsi), %r9b + movb 107(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 140(%rdi) + movw %r10w, 142(%rdi) + movb 108(%rsi), %r8b + movb 109(%rsi), %r9b + movb 110(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 144(%rdi) + movw %r10w, 146(%rdi) + movb 111(%rsi), %r8b + movb 112(%rsi), %r9b + movb 113(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 148(%rdi) + movw %r10w, 150(%rdi) + movb 114(%rsi), %r8b + movb 115(%rsi), %r9b + movb 116(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 152(%rdi) + movw %r10w, 154(%rdi) + movb 117(%rsi), %r8b + movb 118(%rsi), %r9b + movb 119(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 156(%rdi) + movw %r10w, 158(%rdi) + movb 120(%rsi), %r8b + movb 121(%rsi), %r9b + movb 122(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 160(%rdi) + movw %r10w, 162(%rdi) + movb 123(%rsi), %r8b + movb 124(%rsi), %r9b + movb 125(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 164(%rdi) + movw %r10w, 166(%rdi) + movb 126(%rsi), %r8b + movb 127(%rsi), %r9b + movb 128(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 168(%rdi) + movw %r10w, 170(%rdi) + movb 129(%rsi), %r8b + movb 130(%rsi), %r9b + movb 131(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 172(%rdi) + movw %r10w, 174(%rdi) + movb 132(%rsi), %r8b + movb 133(%rsi), %r9b + movb 134(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 176(%rdi) + movw %r10w, 178(%rdi) + movb 135(%rsi), %r8b + movb 136(%rsi), %r9b + movb 137(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 180(%rdi) + movw %r10w, 182(%rdi) + movb 138(%rsi), %r8b + movb 139(%rsi), %r9b + movb 140(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 184(%rdi) + movw %r10w, 186(%rdi) + movb 141(%rsi), %r8b + movb 142(%rsi), %r9b + movb 143(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 188(%rdi) + movw %r10w, 190(%rdi) + movb 144(%rsi), %r8b + movb 145(%rsi), %r9b + movb 146(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 192(%rdi) + movw %r10w, 194(%rdi) + movb 147(%rsi), %r8b + movb 148(%rsi), %r9b + movb 149(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 196(%rdi) + movw %r10w, 198(%rdi) + movb 150(%rsi), %r8b + movb 151(%rsi), %r9b + movb 152(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 200(%rdi) + movw %r10w, 202(%rdi) + movb 153(%rsi), %r8b + movb 154(%rsi), %r9b + movb 155(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 204(%rdi) + movw %r10w, 206(%rdi) + movb 156(%rsi), %r8b + movb 157(%rsi), %r9b + movb 158(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 208(%rdi) + movw %r10w, 210(%rdi) + movb 159(%rsi), %r8b + movb 160(%rsi), %r9b + movb 161(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 212(%rdi) + movw %r10w, 214(%rdi) + movb 162(%rsi), %r8b + movb 163(%rsi), %r9b + movb 164(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 216(%rdi) + movw %r10w, 218(%rdi) + movb 165(%rsi), %r8b + movb 166(%rsi), %r9b + movb 167(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 220(%rdi) + movw %r10w, 222(%rdi) + movb 168(%rsi), %r8b + movb 169(%rsi), %r9b + movb 170(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 224(%rdi) + movw %r10w, 226(%rdi) + movb 171(%rsi), %r8b + movb 172(%rsi), %r9b + movb 173(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 228(%rdi) + movw %r10w, 230(%rdi) + movb 174(%rsi), %r8b + movb 175(%rsi), %r9b + movb 176(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 232(%rdi) + movw %r10w, 234(%rdi) + movb 177(%rsi), %r8b + movb 178(%rsi), %r9b + movb 179(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 236(%rdi) + movw %r10w, 238(%rdi) + movb 180(%rsi), %r8b + movb 181(%rsi), %r9b + movb 182(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 240(%rdi) + movw %r10w, 242(%rdi) + movb 183(%rsi), %r8b + movb 184(%rsi), %r9b + movb 185(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 244(%rdi) + movw %r10w, 246(%rdi) + movb 186(%rsi), %r8b + movb 187(%rsi), %r9b + movb 188(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 248(%rdi) + movw %r10w, 250(%rdi) + movb 189(%rsi), %r8b + movb 190(%rsi), %r9b + movb 191(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 252(%rdi) + movw %r10w, 254(%rdi) + movb 192(%rsi), %r8b + movb 193(%rsi), %r9b + movb 194(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 256(%rdi) + movw %r10w, 258(%rdi) + movb 195(%rsi), %r8b + movb 196(%rsi), %r9b + movb 197(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 260(%rdi) + movw %r10w, 262(%rdi) + movb 198(%rsi), %r8b + movb 199(%rsi), %r9b + movb 200(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 264(%rdi) + movw %r10w, 266(%rdi) + movb 201(%rsi), %r8b + movb 202(%rsi), %r9b + movb 203(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 268(%rdi) + movw %r10w, 270(%rdi) + movb 204(%rsi), %r8b + movb 205(%rsi), %r9b + movb 206(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 272(%rdi) + movw %r10w, 274(%rdi) + movb 207(%rsi), %r8b + movb 208(%rsi), %r9b + movb 209(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 276(%rdi) + movw %r10w, 278(%rdi) + movb 210(%rsi), %r8b + movb 211(%rsi), %r9b + movb 212(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 280(%rdi) + movw %r10w, 282(%rdi) + movb 213(%rsi), %r8b + movb 214(%rsi), %r9b + movb 215(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 284(%rdi) + movw %r10w, 286(%rdi) + movb 216(%rsi), %r8b + movb 217(%rsi), %r9b + movb 218(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 288(%rdi) + movw %r10w, 290(%rdi) + movb 219(%rsi), %r8b + movb 220(%rsi), %r9b + movb 221(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 292(%rdi) + movw %r10w, 294(%rdi) + movb 222(%rsi), %r8b + movb 223(%rsi), %r9b + movb 224(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 296(%rdi) + movw %r10w, 298(%rdi) + movb 225(%rsi), %r8b + movb 226(%rsi), %r9b + movb 227(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 300(%rdi) + movw %r10w, 302(%rdi) + movb 228(%rsi), %r8b + movb 229(%rsi), %r9b + movb 230(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 304(%rdi) + movw %r10w, 306(%rdi) + movb 231(%rsi), %r8b + movb 232(%rsi), %r9b + movb 233(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 308(%rdi) + movw %r10w, 310(%rdi) + movb 234(%rsi), %r8b + movb 235(%rsi), %r9b + movb 236(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 312(%rdi) + movw %r10w, 314(%rdi) + movb 237(%rsi), %r8b + movb 238(%rsi), %r9b + movb 239(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 316(%rdi) + movw %r10w, 318(%rdi) + movb 240(%rsi), %r8b + movb 241(%rsi), %r9b + movb 242(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 320(%rdi) + movw %r10w, 322(%rdi) + movb 243(%rsi), %r8b + movb 244(%rsi), %r9b + movb 245(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 324(%rdi) + movw %r10w, 326(%rdi) + movb 246(%rsi), %r8b + movb 247(%rsi), %r9b + movb 248(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 328(%rdi) + movw %r10w, 330(%rdi) + movb 249(%rsi), %r8b + movb 250(%rsi), %r9b + movb 251(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 332(%rdi) + movw %r10w, 334(%rdi) + movb 252(%rsi), %r8b + movb 253(%rsi), %r9b + movb 254(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 336(%rdi) + movw %r10w, 338(%rdi) + movb 255(%rsi), %r8b + movb 256(%rsi), %r9b + movb 257(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 340(%rdi) + movw %r10w, 342(%rdi) + movb 258(%rsi), %r8b + movb 259(%rsi), %r9b + movb 260(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 344(%rdi) + movw %r10w, 346(%rdi) + movb 261(%rsi), %r8b + movb 262(%rsi), %r9b + movb 263(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 348(%rdi) + movw %r10w, 350(%rdi) + movb 264(%rsi), %r8b + movb 265(%rsi), %r9b + movb 266(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 352(%rdi) + movw %r10w, 354(%rdi) + movb 267(%rsi), %r8b + movb 268(%rsi), %r9b + movb 269(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 356(%rdi) + movw %r10w, 358(%rdi) + movb 270(%rsi), %r8b + movb 271(%rsi), %r9b + movb 272(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 360(%rdi) + movw %r10w, 362(%rdi) + movb 273(%rsi), %r8b + movb 274(%rsi), %r9b + movb 275(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 364(%rdi) + movw %r10w, 366(%rdi) + movb 276(%rsi), %r8b + movb 277(%rsi), %r9b + movb 278(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 368(%rdi) + movw %r10w, 370(%rdi) + movb 279(%rsi), %r8b + movb 280(%rsi), %r9b + movb 281(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 372(%rdi) + movw %r10w, 374(%rdi) + movb 282(%rsi), %r8b + movb 283(%rsi), %r9b + movb 284(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 376(%rdi) + movw %r10w, 378(%rdi) + movb 285(%rsi), %r8b + movb 286(%rsi), %r9b + movb 287(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 380(%rdi) + movw %r10w, 382(%rdi) + movb 288(%rsi), %r8b + movb 289(%rsi), %r9b + movb 290(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 384(%rdi) + movw %r10w, 386(%rdi) + movb 291(%rsi), %r8b + movb 292(%rsi), %r9b + movb 293(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 388(%rdi) + movw %r10w, 390(%rdi) + movb 294(%rsi), %r8b + movb 295(%rsi), %r9b + movb 296(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 392(%rdi) + movw %r10w, 394(%rdi) + movb 297(%rsi), %r8b + movb 298(%rsi), %r9b + movb 299(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 396(%rdi) + movw %r10w, 398(%rdi) + movb 300(%rsi), %r8b + movb 301(%rsi), %r9b + movb 302(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 400(%rdi) + movw %r10w, 402(%rdi) + movb 303(%rsi), %r8b + movb 304(%rsi), %r9b + movb 305(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 404(%rdi) + movw %r10w, 406(%rdi) + movb 306(%rsi), %r8b + movb 307(%rsi), %r9b + movb 308(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 408(%rdi) + movw %r10w, 410(%rdi) + movb 309(%rsi), %r8b + movb 310(%rsi), %r9b + movb 311(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 412(%rdi) + movw %r10w, 414(%rdi) + movb 312(%rsi), %r8b + movb 313(%rsi), %r9b + movb 314(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 416(%rdi) + movw %r10w, 418(%rdi) + movb 315(%rsi), %r8b + movb 316(%rsi), %r9b + movb 317(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 420(%rdi) + movw %r10w, 422(%rdi) + movb 318(%rsi), %r8b + movb 319(%rsi), %r9b + movb 320(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 424(%rdi) + movw %r10w, 426(%rdi) + movb 321(%rsi), %r8b + movb 322(%rsi), %r9b + movb 323(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 428(%rdi) + movw %r10w, 430(%rdi) + movb 324(%rsi), %r8b + movb 325(%rsi), %r9b + movb 326(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 432(%rdi) + movw %r10w, 434(%rdi) + movb 327(%rsi), %r8b + movb 328(%rsi), %r9b + movb 329(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 436(%rdi) + movw %r10w, 438(%rdi) + movb 330(%rsi), %r8b + movb 331(%rsi), %r9b + movb 332(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 440(%rdi) + movw %r10w, 442(%rdi) + movb 333(%rsi), %r8b + movb 334(%rsi), %r9b + movb 335(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 444(%rdi) + movw %r10w, 446(%rdi) + movb 336(%rsi), %r8b + movb 337(%rsi), %r9b + movb 338(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 448(%rdi) + movw %r10w, 450(%rdi) + movb 339(%rsi), %r8b + movb 340(%rsi), %r9b + movb 341(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 452(%rdi) + movw %r10w, 454(%rdi) + movb 342(%rsi), %r8b + movb 343(%rsi), %r9b + movb 344(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 456(%rdi) + movw %r10w, 458(%rdi) + movb 345(%rsi), %r8b + movb 346(%rsi), %r9b + movb 347(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 460(%rdi) + movw %r10w, 462(%rdi) + movb 348(%rsi), %r8b + movb 349(%rsi), %r9b + movb 350(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 464(%rdi) + movw %r10w, 466(%rdi) + movb 351(%rsi), %r8b + movb 352(%rsi), %r9b + movb 353(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 468(%rdi) + movw %r10w, 470(%rdi) + movb 354(%rsi), %r8b + movb 355(%rsi), %r9b + movb 356(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 472(%rdi) + movw %r10w, 474(%rdi) + movb 357(%rsi), %r8b + movb 358(%rsi), %r9b + movb 359(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 476(%rdi) + movw %r10w, 478(%rdi) + movb 360(%rsi), %r8b + movb 361(%rsi), %r9b + movb 362(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 480(%rdi) + movw %r10w, 482(%rdi) + movb 363(%rsi), %r8b + movb 364(%rsi), %r9b + movb 365(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 484(%rdi) + movw %r10w, 486(%rdi) + movb 366(%rsi), %r8b + movb 367(%rsi), %r9b + movb 368(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 488(%rdi) + movw %r10w, 490(%rdi) + movb 369(%rsi), %r8b + movb 370(%rsi), %r9b + movb 371(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 492(%rdi) + movw %r10w, 494(%rdi) + movb 372(%rsi), %r8b + movb 373(%rsi), %r9b + movb 374(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 496(%rdi) + movw %r10w, 498(%rdi) + movb 375(%rsi), %r8b + movb 376(%rsi), %r9b + movb 377(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 500(%rdi) + movw %r10w, 502(%rdi) + movb 378(%rsi), %r8b + movb 379(%rsi), %r9b + movb 380(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 504(%rdi) + movw %r10w, 506(%rdi) + movb 381(%rsi), %r8b + movb 382(%rsi), %r9b + movb 383(%rsi), %r10b + movzbw %r8b, %r8w + movzbw %r9b, %r11w + andw $15, %r11w + shlw $8, %r11w + orw %r11w, %r8w + movzbw %r10b, %r10w + shlw $4, %r10w + movzbw %r9b, %r9w + shrw $4, %r9w + orw %r9w, %r10w + movw %r8w, 508(%rdi) + movw %r10w, 510(%rdi) + ret +L_poly_decompress$1: + movq $0, %rdi + movq $0, %r8 + jmp L_poly_decompress$2 +L_poly_decompress$3: + movb (%rsi,%rdi), %r9b + movzbw %r9b, %r10w + movzbw %r9b, %r9w + andw $15, %r10w + shrw $4, %r9w + imulw $3329, %r10w, %r10w + imulw $3329, %r9w, %r9w + addw $8, %r10w + addw $8, %r9w + shrw $4, %r10w + shrw $4, %r9w + movw %r10w, (%rcx,%r8,2) + incq %r8 + movw %r9w, (%rcx,%r8,2) + incq %r8 + incq %rdi +L_poly_decompress$2: + cmpq $128, %rdi + jb L_poly_decompress$3 + ret +L_i_poly_compress$1: + call L_poly_csubq$1 +L_i_poly_compress$4: + movq $0, %rdx + movq $0, %rsi + jmp L_i_poly_compress$2 +L_i_poly_compress$3: + movw (%rcx,%rsi,2), %di + movzwl %di, %edi + shll $4, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $15, %edi + incq %rsi + movw (%rcx,%rsi,2), %r8w + movzwl %r8w, %r8d + shll $4, %r8d + addl $1665, %r8d + imull $80635, %r8d, %r8d + shrl $28, %r8d + andl $15, %r8d + shll $4, %r8d + orl %r8d, %edi + movb %dil, (%rax,%rdx) + incq %rdx + incq %rsi +L_i_poly_compress$2: + cmpq $128, %rdx + jb L_i_poly_compress$3 + ret +L_poly_compress$1: + call L_poly_csubq$1 +L_poly_compress$4: + movq $0, %rdx + movq $0, %rsi + jmp L_poly_compress$2 +L_poly_compress$3: + movw (%rcx,%rsi,2), %di + movzwl %di, %edi + shll $4, %edi + addl $1665, %edi + imull $80635, %edi, %edi + shrl $28, %edi + andl $15, %edi + incq %rsi + movw (%rcx,%rsi,2), %r8w + movzwl %r8w, %r8d + shll $4, %r8d + addl $1665, %r8d + imull $80635, %r8d, %r8d + shrl $28, %r8d + andl $15, %r8d + shll $4, %r8d + orl %r8d, %edi + movb %dil, (%rax,%rdx) + incq %rdx + incq %rsi +L_poly_compress$2: + cmpq $128, %rdx + jb L_poly_compress$3 + ret +L_poly_basemul$1: + movq %rdi, 8(%rsp) + movq $64, %rdi + movq $0, %r8 + jmp L_poly_basemul$2 +L_poly_basemul$3: + leaq glob_data + 448(%rip), %r9 + movw (%r9,%rdi,2), %r9w + incq %rdi + movw (%rcx,%r8,2), %r10w + movw (%rsi,%r8,2), %r11w + incq %r8 + movw (%rcx,%r8,2), %bx + movw (%rsi,%r8,2), %bp + addq $-1, %r8 + movswl %bx, %r12d + movswl %bp, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r12w, %r12d + movswl %r9w, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r10w, %r13d + movswl %r11w, %r14d + imull %r14d, %r13d + imull $62209, %r13d, %r14d + shll $16, %r14d + sarl $16, %r14d + imull $3329, %r14d, %r14d + subl %r14d, %r13d + sarl $16, %r13d + addw %r13w, %r12w + movswl %r10w, %r10d + movswl %bp, %ebp + imull %ebp, %r10d + imull $62209, %r10d, %ebp + shll $16, %ebp + sarl $16, %ebp + imull $3329, %ebp, %ebp + subl %ebp, %r10d + sarl $16, %r10d + movswl %bx, %ebx + movswl %r11w, %r11d + imull %r11d, %ebx + imull $62209, %ebx, %r11d + shll $16, %r11d + sarl $16, %r11d + imull $3329, %r11d, %r11d + subl %r11d, %ebx + sarl $16, %ebx + addw %bx, %r10w + movq 8(%rsp), %r11 + movw %r12w, (%r11,%r8,2) + incq %r8 + movw %r10w, (%r11,%r8,2) + movq %r11, 16(%rsp) + negw %r9w + incq %r8 + movw (%rcx,%r8,2), %r10w + movw (%rsi,%r8,2), %r11w + incq %r8 + movw (%rcx,%r8,2), %bx + movw (%rsi,%r8,2), %bp + addq $-1, %r8 + movswl %bx, %r12d + movswl %bp, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + movswl %r12w, %r12d + movswl %r9w, %r9d + imull %r9d, %r12d + imull $62209, %r12d, %r9d + shll $16, %r9d + sarl $16, %r9d + imull $3329, %r9d, %r9d + subl %r9d, %r12d + sarl $16, %r12d + movw %r12w, %r9w + movswl %r10w, %r12d + movswl %r11w, %r13d + imull %r13d, %r12d + imull $62209, %r12d, %r13d + shll $16, %r13d + sarl $16, %r13d + imull $3329, %r13d, %r13d + subl %r13d, %r12d + sarl $16, %r12d + addw %r12w, %r9w + movswl %r10w, %r10d + movswl %bp, %ebp + imull %ebp, %r10d + imull $62209, %r10d, %ebp + shll $16, %ebp + sarl $16, %ebp + imull $3329, %ebp, %ebp + subl %ebp, %r10d + sarl $16, %r10d + movswl %bx, %ebx + movswl %r11w, %r11d + imull %r11d, %ebx + imull $62209, %ebx, %r11d + shll $16, %r11d + sarl $16, %r11d + imull $3329, %r11d, %r11d + subl %r11d, %ebx + sarl $16, %ebx + addw %bx, %r10w + movq 16(%rsp), %r11 + movw %r9w, (%r11,%r8,2) + incq %r8 + movw %r10w, (%r11,%r8,2) + incq %r8 +L_poly_basemul$2: + cmpq $256, %r8 + jb L_poly_basemul$3 + ret +L_poly_csubq$1: + movq $0, %r8 + jmp L_poly_csubq$2 +L_poly_csubq$3: + movw (%rcx,%r8,2), %r9w + addw $-3329, %r9w + movw %r9w, %r10w + sarw $15, %r10w + andw $3329, %r10w + addw %r10w, %r9w + movw %r9w, (%rcx,%r8,2) + incq %r8 +L_poly_csubq$2: + cmpq $256, %r8 + jb L_poly_csubq$3 + ret +L_poly_add2$1: + movq $0, %rdi + jmp L_poly_add2$2 +L_poly_add2$3: + movw (%rcx,%rdi,2), %r8w + movw (%rsi,%rdi,2), %r9w + addw %r9w, %r8w + movw %r8w, (%rcx,%rdi,2) + incq %rdi +L_poly_add2$2: + cmpq $256, %rdi + jb L_poly_add2$3 + ret +L_shake256_64$1: + movq %rax, 8(%rsp) + movq %rcx, 16(%rsp) + leaq 24(%rsp), %rcx + xorq %rax, %rax + movq %rax, (%rcx) + movq %rax, 8(%rcx) + movq %rax, 16(%rcx) + movq %rax, 24(%rcx) + movq %rax, 32(%rcx) + movq %rax, 40(%rcx) + movq %rax, 48(%rcx) + movq %rax, 56(%rcx) + movq %rax, 64(%rcx) + movq %rax, 72(%rcx) + movq %rax, 80(%rcx) + movq %rax, 88(%rcx) + movq %rax, 96(%rcx) + movq %rax, 104(%rcx) + movq %rax, 112(%rcx) + movq %rax, 120(%rcx) + movq %rax, 128(%rcx) + movq %rax, 136(%rcx) + movq %rax, 144(%rcx) + movq %rax, 152(%rcx) + movq %rax, 160(%rcx) + movq %rax, 168(%rcx) + movq %rax, 176(%rcx) + movq %rax, 184(%rcx) + movq %rax, 192(%rcx) + movq (%rdx), %rax + xorq %rax, (%rcx) + movq 8(%rdx), %rax + xorq %rax, 8(%rcx) + movq 16(%rdx), %rax + xorq %rax, 16(%rcx) + movq 24(%rdx), %rax + xorq %rax, 24(%rcx) + movq 32(%rdx), %rax + xorq %rax, 32(%rcx) + movq 40(%rdx), %rax + xorq %rax, 40(%rcx) + movq 48(%rdx), %rax + xorq %rax, 48(%rcx) + movq 56(%rdx), %rax + xorq %rax, 56(%rcx) + xorb $31, 64(%rcx) + xorb $-128, 135(%rcx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_64$9: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rax + movq 8(%rsp), %rdx + jmp L_shake256_64$6 +L_shake256_64$7: + movq (%rcx), %rsi + movq %rsi, (%rdx) + movq 8(%rcx), %rsi + movq %rsi, 8(%rdx) + movq 16(%rcx), %rsi + movq %rsi, 16(%rdx) + movq 24(%rcx), %rsi + movq %rsi, 24(%rdx) + movq 32(%rcx), %rsi + movq %rsi, 32(%rdx) + movq 40(%rcx), %rsi + movq %rsi, 40(%rdx) + movq 48(%rcx), %rsi + movq %rsi, 48(%rdx) + movq 56(%rcx), %rsi + movq %rsi, 56(%rdx) + movq 64(%rcx), %rsi + movq %rsi, 64(%rdx) + movq 72(%rcx), %rsi + movq %rsi, 72(%rdx) + movq 80(%rcx), %rsi + movq %rsi, 80(%rdx) + movq 88(%rcx), %rsi + movq %rsi, 88(%rdx) + movq 96(%rcx), %rsi + movq %rsi, 96(%rdx) + movq 104(%rcx), %rsi + movq %rsi, 104(%rdx) + movq 112(%rcx), %rsi + movq %rsi, 112(%rdx) + movq 120(%rcx), %rsi + movq %rsi, 120(%rdx) + movq 128(%rcx), %rsi + movq %rsi, 128(%rdx) + addq $136, %rdx + addq $-136, %rax + movq %rdx, 8(%rsp) + movq %rax, 16(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_64$8: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rax + movq 8(%rsp), %rdx +L_shake256_64$6: + cmpq $136, %rax + jnbe L_shake256_64$7 + movq %rax, 8(%rsp) + shrq $3, %rax + movq $0, %rsi + jmp L_shake256_64$4 +L_shake256_64$5: + movq (%rcx,%rsi,8), %rdi + movq %rdi, (%rdx,%rsi,8) + incq %rsi +L_shake256_64$4: + cmpq %rax, %rsi + jb L_shake256_64$5 + shlq $3, %rsi + movq 8(%rsp), %rax + jmp L_shake256_64$2 +L_shake256_64$3: + movb (%rcx,%rsi), %dil + movb %dil, (%rdx,%rsi) + incq %rsi +L_shake256_64$2: + cmpq %rax, %rsi + jb L_shake256_64$3 + ret +L_sha3_512_64$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rcx + xorq %rax, %rax + movq %rax, (%rcx) + movq %rax, 8(%rcx) + movq %rax, 16(%rcx) + movq %rax, 24(%rcx) + movq %rax, 32(%rcx) + movq %rax, 40(%rcx) + movq %rax, 48(%rcx) + movq %rax, 56(%rcx) + movq %rax, 64(%rcx) + movq %rax, 72(%rcx) + movq %rax, 80(%rcx) + movq %rax, 88(%rcx) + movq %rax, 96(%rcx) + movq %rax, 104(%rcx) + movq %rax, 112(%rcx) + movq %rax, 120(%rcx) + movq %rax, 128(%rcx) + movq %rax, 136(%rcx) + movq %rax, 144(%rcx) + movq %rax, 152(%rcx) + movq %rax, 160(%rcx) + movq %rax, 168(%rcx) + movq %rax, 176(%rcx) + movq %rax, 184(%rcx) + movq %rax, 192(%rcx) + movq (%rdx), %rax + xorq %rax, (%rcx) + movq 8(%rdx), %rax + xorq %rax, 8(%rcx) + movq 16(%rdx), %rax + xorq %rax, 16(%rcx) + movq 24(%rdx), %rax + xorq %rax, 24(%rcx) + movq 32(%rdx), %rax + xorq %rax, 32(%rcx) + movq 40(%rdx), %rax + xorq %rax, 40(%rcx) + movq 48(%rdx), %rax + xorq %rax, 48(%rcx) + movq 56(%rdx), %rax + xorq %rax, 56(%rcx) + xorb $6, 64(%rcx) + xorb $-128, 71(%rcx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_512_64$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rax + movq (%rcx), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rdx + movq %rdx, 24(%rax) + movq 32(%rcx), %rdx + movq %rdx, 32(%rax) + movq 40(%rcx), %rdx + movq %rdx, 40(%rax) + movq 48(%rcx), %rdx + movq %rdx, 48(%rax) + movq 56(%rcx), %rcx + movq %rcx, 56(%rax) + ret +L_sha3_256_32$1: + movq %rax, 8(%rsp) + leaq 16(%rsp), %rcx + xorq %rax, %rax + movq %rax, (%rcx) + movq %rax, 8(%rcx) + movq %rax, 16(%rcx) + movq %rax, 24(%rcx) + movq %rax, 32(%rcx) + movq %rax, 40(%rcx) + movq %rax, 48(%rcx) + movq %rax, 56(%rcx) + movq %rax, 64(%rcx) + movq %rax, 72(%rcx) + movq %rax, 80(%rcx) + movq %rax, 88(%rcx) + movq %rax, 96(%rcx) + movq %rax, 104(%rcx) + movq %rax, 112(%rcx) + movq %rax, 120(%rcx) + movq %rax, 128(%rcx) + movq %rax, 136(%rcx) + movq %rax, 144(%rcx) + movq %rax, 152(%rcx) + movq %rax, 160(%rcx) + movq %rax, 168(%rcx) + movq %rax, 176(%rcx) + movq %rax, 184(%rcx) + movq %rax, 192(%rcx) + movq (%rdx), %rax + movq %rax, (%rcx) + movq 8(%rdx), %rax + movq %rax, 8(%rcx) + movq 16(%rdx), %rax + movq %rax, 16(%rcx) + movq 24(%rdx), %rax + movq %rax, 24(%rcx) + xorb $6, 32(%rcx) + movb $-128, 135(%rcx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256_32$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rax + movq (%rcx), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rcx + movq %rcx, 24(%rax) + ret +L_sha3_256$1: + movq %rcx, 8(%rsp) + leaq 40(%rsp), %rcx + xorq %rdx, %rdx + movq %rdx, (%rcx) + movq %rdx, 8(%rcx) + movq %rdx, 16(%rcx) + movq %rdx, 24(%rcx) + movq %rdx, 32(%rcx) + movq %rdx, 40(%rcx) + movq %rdx, 48(%rcx) + movq %rdx, 56(%rcx) + movq %rdx, 64(%rcx) + movq %rdx, 72(%rcx) + movq %rdx, 80(%rcx) + movq %rdx, 88(%rcx) + movq %rdx, 96(%rcx) + movq %rdx, 104(%rcx) + movq %rdx, 112(%rcx) + movq %rdx, 120(%rcx) + movq %rdx, 128(%rcx) + movq %rdx, 136(%rcx) + movq %rdx, 144(%rcx) + movq %rdx, 152(%rcx) + movq %rdx, 160(%rcx) + movq %rdx, 168(%rcx) + movq %rdx, 176(%rcx) + movq %rdx, 184(%rcx) + movq %rdx, 192(%rcx) + movq $136, %rdx + jmp L_sha3_256$7 +L_sha3_256$8: + movq %rdx, %rdi + shrq $3, %rdi + movq $0, %r8 + jmp L_sha3_256$10 +L_sha3_256$11: + movq (%rsi,%r8,8), %r9 + xorq %r9, (%rcx,%r8,8) + incq %r8 +L_sha3_256$10: + cmpq %rdi, %r8 + jb L_sha3_256$11 + addq %rdx, %rsi + subq %rdx, %rax + movq %rsi, 16(%rsp) + movq %rax, 24(%rsp) + movq %rdx, 32(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256$9: + leaq 224(%rsp), %rsp + movq 16(%rsp), %rsi + movq 24(%rsp), %rax + movq 32(%rsp), %rdx +L_sha3_256$7: + cmpq %rdx, %rax + jnb L_sha3_256$8 + movb $6, %dil + movq %rax, %r8 + shrq $3, %r8 + movq $0, %r9 + jmp L_sha3_256$5 +L_sha3_256$6: + movq (%rsi,%r9,8), %r10 + xorq %r10, (%rcx,%r9,8) + incq %r9 +L_sha3_256$5: + cmpq %r8, %r9 + jb L_sha3_256$6 + shlq $3, %r9 + jmp L_sha3_256$3 +L_sha3_256$4: + movb (%rsi,%r9), %r8b + xorb %r8b, (%rcx,%r9) + incq %r9 +L_sha3_256$3: + cmpq %rax, %r9 + jb L_sha3_256$4 + xorb %dil, (%rcx,%r9) + addq $-1, %rdx + xorb $-128, (%rcx,%rdx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_256$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rax + movq (%rcx), %rdx + movq %rdx, (%rax) + movq 8(%rcx), %rdx + movq %rdx, 8(%rax) + movq 16(%rcx), %rdx + movq %rdx, 16(%rax) + movq 24(%rcx), %rcx + movq %rcx, 24(%rax) + ret +L_shake128_squeezeblock$1: + movq %rdx, 8(%rsp) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake128_squeezeblock$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rdx + movb (%rcx), %sil + movb %sil, (%rdx) + movb 1(%rcx), %sil + movb %sil, 1(%rdx) + movb 2(%rcx), %sil + movb %sil, 2(%rdx) + movb 3(%rcx), %sil + movb %sil, 3(%rdx) + movb 4(%rcx), %sil + movb %sil, 4(%rdx) + movb 5(%rcx), %sil + movb %sil, 5(%rdx) + movb 6(%rcx), %sil + movb %sil, 6(%rdx) + movb 7(%rcx), %sil + movb %sil, 7(%rdx) + movb 8(%rcx), %sil + movb %sil, 8(%rdx) + movb 9(%rcx), %sil + movb %sil, 9(%rdx) + movb 10(%rcx), %sil + movb %sil, 10(%rdx) + movb 11(%rcx), %sil + movb %sil, 11(%rdx) + movb 12(%rcx), %sil + movb %sil, 12(%rdx) + movb 13(%rcx), %sil + movb %sil, 13(%rdx) + movb 14(%rcx), %sil + movb %sil, 14(%rdx) + movb 15(%rcx), %sil + movb %sil, 15(%rdx) + movb 16(%rcx), %sil + movb %sil, 16(%rdx) + movb 17(%rcx), %sil + movb %sil, 17(%rdx) + movb 18(%rcx), %sil + movb %sil, 18(%rdx) + movb 19(%rcx), %sil + movb %sil, 19(%rdx) + movb 20(%rcx), %sil + movb %sil, 20(%rdx) + movb 21(%rcx), %sil + movb %sil, 21(%rdx) + movb 22(%rcx), %sil + movb %sil, 22(%rdx) + movb 23(%rcx), %sil + movb %sil, 23(%rdx) + movb 24(%rcx), %sil + movb %sil, 24(%rdx) + movb 25(%rcx), %sil + movb %sil, 25(%rdx) + movb 26(%rcx), %sil + movb %sil, 26(%rdx) + movb 27(%rcx), %sil + movb %sil, 27(%rdx) + movb 28(%rcx), %sil + movb %sil, 28(%rdx) + movb 29(%rcx), %sil + movb %sil, 29(%rdx) + movb 30(%rcx), %sil + movb %sil, 30(%rdx) + movb 31(%rcx), %sil + movb %sil, 31(%rdx) + movb 32(%rcx), %sil + movb %sil, 32(%rdx) + movb 33(%rcx), %sil + movb %sil, 33(%rdx) + movb 34(%rcx), %sil + movb %sil, 34(%rdx) + movb 35(%rcx), %sil + movb %sil, 35(%rdx) + movb 36(%rcx), %sil + movb %sil, 36(%rdx) + movb 37(%rcx), %sil + movb %sil, 37(%rdx) + movb 38(%rcx), %sil + movb %sil, 38(%rdx) + movb 39(%rcx), %sil + movb %sil, 39(%rdx) + movb 40(%rcx), %sil + movb %sil, 40(%rdx) + movb 41(%rcx), %sil + movb %sil, 41(%rdx) + movb 42(%rcx), %sil + movb %sil, 42(%rdx) + movb 43(%rcx), %sil + movb %sil, 43(%rdx) + movb 44(%rcx), %sil + movb %sil, 44(%rdx) + movb 45(%rcx), %sil + movb %sil, 45(%rdx) + movb 46(%rcx), %sil + movb %sil, 46(%rdx) + movb 47(%rcx), %sil + movb %sil, 47(%rdx) + movb 48(%rcx), %sil + movb %sil, 48(%rdx) + movb 49(%rcx), %sil + movb %sil, 49(%rdx) + movb 50(%rcx), %sil + movb %sil, 50(%rdx) + movb 51(%rcx), %sil + movb %sil, 51(%rdx) + movb 52(%rcx), %sil + movb %sil, 52(%rdx) + movb 53(%rcx), %sil + movb %sil, 53(%rdx) + movb 54(%rcx), %sil + movb %sil, 54(%rdx) + movb 55(%rcx), %sil + movb %sil, 55(%rdx) + movb 56(%rcx), %sil + movb %sil, 56(%rdx) + movb 57(%rcx), %sil + movb %sil, 57(%rdx) + movb 58(%rcx), %sil + movb %sil, 58(%rdx) + movb 59(%rcx), %sil + movb %sil, 59(%rdx) + movb 60(%rcx), %sil + movb %sil, 60(%rdx) + movb 61(%rcx), %sil + movb %sil, 61(%rdx) + movb 62(%rcx), %sil + movb %sil, 62(%rdx) + movb 63(%rcx), %sil + movb %sil, 63(%rdx) + movb 64(%rcx), %sil + movb %sil, 64(%rdx) + movb 65(%rcx), %sil + movb %sil, 65(%rdx) + movb 66(%rcx), %sil + movb %sil, 66(%rdx) + movb 67(%rcx), %sil + movb %sil, 67(%rdx) + movb 68(%rcx), %sil + movb %sil, 68(%rdx) + movb 69(%rcx), %sil + movb %sil, 69(%rdx) + movb 70(%rcx), %sil + movb %sil, 70(%rdx) + movb 71(%rcx), %sil + movb %sil, 71(%rdx) + movb 72(%rcx), %sil + movb %sil, 72(%rdx) + movb 73(%rcx), %sil + movb %sil, 73(%rdx) + movb 74(%rcx), %sil + movb %sil, 74(%rdx) + movb 75(%rcx), %sil + movb %sil, 75(%rdx) + movb 76(%rcx), %sil + movb %sil, 76(%rdx) + movb 77(%rcx), %sil + movb %sil, 77(%rdx) + movb 78(%rcx), %sil + movb %sil, 78(%rdx) + movb 79(%rcx), %sil + movb %sil, 79(%rdx) + movb 80(%rcx), %sil + movb %sil, 80(%rdx) + movb 81(%rcx), %sil + movb %sil, 81(%rdx) + movb 82(%rcx), %sil + movb %sil, 82(%rdx) + movb 83(%rcx), %sil + movb %sil, 83(%rdx) + movb 84(%rcx), %sil + movb %sil, 84(%rdx) + movb 85(%rcx), %sil + movb %sil, 85(%rdx) + movb 86(%rcx), %sil + movb %sil, 86(%rdx) + movb 87(%rcx), %sil + movb %sil, 87(%rdx) + movb 88(%rcx), %sil + movb %sil, 88(%rdx) + movb 89(%rcx), %sil + movb %sil, 89(%rdx) + movb 90(%rcx), %sil + movb %sil, 90(%rdx) + movb 91(%rcx), %sil + movb %sil, 91(%rdx) + movb 92(%rcx), %sil + movb %sil, 92(%rdx) + movb 93(%rcx), %sil + movb %sil, 93(%rdx) + movb 94(%rcx), %sil + movb %sil, 94(%rdx) + movb 95(%rcx), %sil + movb %sil, 95(%rdx) + movb 96(%rcx), %sil + movb %sil, 96(%rdx) + movb 97(%rcx), %sil + movb %sil, 97(%rdx) + movb 98(%rcx), %sil + movb %sil, 98(%rdx) + movb 99(%rcx), %sil + movb %sil, 99(%rdx) + movb 100(%rcx), %sil + movb %sil, 100(%rdx) + movb 101(%rcx), %sil + movb %sil, 101(%rdx) + movb 102(%rcx), %sil + movb %sil, 102(%rdx) + movb 103(%rcx), %sil + movb %sil, 103(%rdx) + movb 104(%rcx), %sil + movb %sil, 104(%rdx) + movb 105(%rcx), %sil + movb %sil, 105(%rdx) + movb 106(%rcx), %sil + movb %sil, 106(%rdx) + movb 107(%rcx), %sil + movb %sil, 107(%rdx) + movb 108(%rcx), %sil + movb %sil, 108(%rdx) + movb 109(%rcx), %sil + movb %sil, 109(%rdx) + movb 110(%rcx), %sil + movb %sil, 110(%rdx) + movb 111(%rcx), %sil + movb %sil, 111(%rdx) + movb 112(%rcx), %sil + movb %sil, 112(%rdx) + movb 113(%rcx), %sil + movb %sil, 113(%rdx) + movb 114(%rcx), %sil + movb %sil, 114(%rdx) + movb 115(%rcx), %sil + movb %sil, 115(%rdx) + movb 116(%rcx), %sil + movb %sil, 116(%rdx) + movb 117(%rcx), %sil + movb %sil, 117(%rdx) + movb 118(%rcx), %sil + movb %sil, 118(%rdx) + movb 119(%rcx), %sil + movb %sil, 119(%rdx) + movb 120(%rcx), %sil + movb %sil, 120(%rdx) + movb 121(%rcx), %sil + movb %sil, 121(%rdx) + movb 122(%rcx), %sil + movb %sil, 122(%rdx) + movb 123(%rcx), %sil + movb %sil, 123(%rdx) + movb 124(%rcx), %sil + movb %sil, 124(%rdx) + movb 125(%rcx), %sil + movb %sil, 125(%rdx) + movb 126(%rcx), %sil + movb %sil, 126(%rdx) + movb 127(%rcx), %sil + movb %sil, 127(%rdx) + movb 128(%rcx), %sil + movb %sil, 128(%rdx) + movb 129(%rcx), %sil + movb %sil, 129(%rdx) + movb 130(%rcx), %sil + movb %sil, 130(%rdx) + movb 131(%rcx), %sil + movb %sil, 131(%rdx) + movb 132(%rcx), %sil + movb %sil, 132(%rdx) + movb 133(%rcx), %sil + movb %sil, 133(%rdx) + movb 134(%rcx), %sil + movb %sil, 134(%rdx) + movb 135(%rcx), %sil + movb %sil, 135(%rdx) + movb 136(%rcx), %sil + movb %sil, 136(%rdx) + movb 137(%rcx), %sil + movb %sil, 137(%rdx) + movb 138(%rcx), %sil + movb %sil, 138(%rdx) + movb 139(%rcx), %sil + movb %sil, 139(%rdx) + movb 140(%rcx), %sil + movb %sil, 140(%rdx) + movb 141(%rcx), %sil + movb %sil, 141(%rdx) + movb 142(%rcx), %sil + movb %sil, 142(%rdx) + movb 143(%rcx), %sil + movb %sil, 143(%rdx) + movb 144(%rcx), %sil + movb %sil, 144(%rdx) + movb 145(%rcx), %sil + movb %sil, 145(%rdx) + movb 146(%rcx), %sil + movb %sil, 146(%rdx) + movb 147(%rcx), %sil + movb %sil, 147(%rdx) + movb 148(%rcx), %sil + movb %sil, 148(%rdx) + movb 149(%rcx), %sil + movb %sil, 149(%rdx) + movb 150(%rcx), %sil + movb %sil, 150(%rdx) + movb 151(%rcx), %sil + movb %sil, 151(%rdx) + movb 152(%rcx), %sil + movb %sil, 152(%rdx) + movb 153(%rcx), %sil + movb %sil, 153(%rdx) + movb 154(%rcx), %sil + movb %sil, 154(%rdx) + movb 155(%rcx), %sil + movb %sil, 155(%rdx) + movb 156(%rcx), %sil + movb %sil, 156(%rdx) + movb 157(%rcx), %sil + movb %sil, 157(%rdx) + movb 158(%rcx), %sil + movb %sil, 158(%rdx) + movb 159(%rcx), %sil + movb %sil, 159(%rdx) + movb 160(%rcx), %sil + movb %sil, 160(%rdx) + movb 161(%rcx), %sil + movb %sil, 161(%rdx) + movb 162(%rcx), %sil + movb %sil, 162(%rdx) + movb 163(%rcx), %sil + movb %sil, 163(%rdx) + movb 164(%rcx), %sil + movb %sil, 164(%rdx) + movb 165(%rcx), %sil + movb %sil, 165(%rdx) + movb 166(%rcx), %sil + movb %sil, 166(%rdx) + movb 167(%rcx), %cl + movb %cl, 167(%rdx) + ret +L_shake128_absorb34$1: + xorq %rsi, %rsi + movq %rsi, (%rcx) + movq %rsi, 8(%rcx) + movq %rsi, 16(%rcx) + movq %rsi, 24(%rcx) + movq %rsi, 32(%rcx) + movq %rsi, 40(%rcx) + movq %rsi, 48(%rcx) + movq %rsi, 56(%rcx) + movq %rsi, 64(%rcx) + movq %rsi, 72(%rcx) + movq %rsi, 80(%rcx) + movq %rsi, 88(%rcx) + movq %rsi, 96(%rcx) + movq %rsi, 104(%rcx) + movq %rsi, 112(%rcx) + movq %rsi, 120(%rcx) + movq %rsi, 128(%rcx) + movq %rsi, 136(%rcx) + movq %rsi, 144(%rcx) + movq %rsi, 152(%rcx) + movq %rsi, 160(%rcx) + movq %rsi, 168(%rcx) + movq %rsi, 176(%rcx) + movq %rsi, 184(%rcx) + movq %rsi, 192(%rcx) + movb (%rdx), %sil + xorb %sil, (%rcx) + movb 1(%rdx), %sil + xorb %sil, 1(%rcx) + movb 2(%rdx), %sil + xorb %sil, 2(%rcx) + movb 3(%rdx), %sil + xorb %sil, 3(%rcx) + movb 4(%rdx), %sil + xorb %sil, 4(%rcx) + movb 5(%rdx), %sil + xorb %sil, 5(%rcx) + movb 6(%rdx), %sil + xorb %sil, 6(%rcx) + movb 7(%rdx), %sil + xorb %sil, 7(%rcx) + movb 8(%rdx), %sil + xorb %sil, 8(%rcx) + movb 9(%rdx), %sil + xorb %sil, 9(%rcx) + movb 10(%rdx), %sil + xorb %sil, 10(%rcx) + movb 11(%rdx), %sil + xorb %sil, 11(%rcx) + movb 12(%rdx), %sil + xorb %sil, 12(%rcx) + movb 13(%rdx), %sil + xorb %sil, 13(%rcx) + movb 14(%rdx), %sil + xorb %sil, 14(%rcx) + movb 15(%rdx), %sil + xorb %sil, 15(%rcx) + movb 16(%rdx), %sil + xorb %sil, 16(%rcx) + movb 17(%rdx), %sil + xorb %sil, 17(%rcx) + movb 18(%rdx), %sil + xorb %sil, 18(%rcx) + movb 19(%rdx), %sil + xorb %sil, 19(%rcx) + movb 20(%rdx), %sil + xorb %sil, 20(%rcx) + movb 21(%rdx), %sil + xorb %sil, 21(%rcx) + movb 22(%rdx), %sil + xorb %sil, 22(%rcx) + movb 23(%rdx), %sil + xorb %sil, 23(%rcx) + movb 24(%rdx), %sil + xorb %sil, 24(%rcx) + movb 25(%rdx), %sil + xorb %sil, 25(%rcx) + movb 26(%rdx), %sil + xorb %sil, 26(%rcx) + movb 27(%rdx), %sil + xorb %sil, 27(%rcx) + movb 28(%rdx), %sil + xorb %sil, 28(%rcx) + movb 29(%rdx), %sil + xorb %sil, 29(%rcx) + movb 30(%rdx), %sil + xorb %sil, 30(%rcx) + movb 31(%rdx), %sil + xorb %sil, 31(%rcx) + movb 32(%rdx), %sil + xorb %sil, 32(%rcx) + movb 33(%rdx), %dl + xorb %dl, 33(%rcx) + xorb $31, 34(%rcx) + xorb $-128, 167(%rcx) + ret +L_sha3_512_32$1: + movq %rcx, 8(%rsp) + leaq 16(%rsp), %rcx + xorq %rdx, %rdx + movq %rdx, (%rcx) + movq %rdx, 8(%rcx) + movq %rdx, 16(%rcx) + movq %rdx, 24(%rcx) + movq %rdx, 32(%rcx) + movq %rdx, 40(%rcx) + movq %rdx, 48(%rcx) + movq %rdx, 56(%rcx) + movq %rdx, 64(%rcx) + movq %rdx, 72(%rcx) + movq %rdx, 80(%rcx) + movq %rdx, 88(%rcx) + movq %rdx, 96(%rcx) + movq %rdx, 104(%rcx) + movq %rdx, 112(%rcx) + movq %rdx, 120(%rcx) + movq %rdx, 128(%rcx) + movq %rdx, 136(%rcx) + movq %rdx, 144(%rcx) + movq %rdx, 152(%rcx) + movq %rdx, 160(%rcx) + movq %rdx, 168(%rcx) + movq %rdx, 176(%rcx) + movq %rdx, 184(%rcx) + movq %rdx, 192(%rcx) + movb (%rax), %dl + xorb %dl, (%rcx) + movb 1(%rax), %dl + xorb %dl, 1(%rcx) + movb 2(%rax), %dl + xorb %dl, 2(%rcx) + movb 3(%rax), %dl + xorb %dl, 3(%rcx) + movb 4(%rax), %dl + xorb %dl, 4(%rcx) + movb 5(%rax), %dl + xorb %dl, 5(%rcx) + movb 6(%rax), %dl + xorb %dl, 6(%rcx) + movb 7(%rax), %dl + xorb %dl, 7(%rcx) + movb 8(%rax), %dl + xorb %dl, 8(%rcx) + movb 9(%rax), %dl + xorb %dl, 9(%rcx) + movb 10(%rax), %dl + xorb %dl, 10(%rcx) + movb 11(%rax), %dl + xorb %dl, 11(%rcx) + movb 12(%rax), %dl + xorb %dl, 12(%rcx) + movb 13(%rax), %dl + xorb %dl, 13(%rcx) + movb 14(%rax), %dl + xorb %dl, 14(%rcx) + movb 15(%rax), %dl + xorb %dl, 15(%rcx) + movb 16(%rax), %dl + xorb %dl, 16(%rcx) + movb 17(%rax), %dl + xorb %dl, 17(%rcx) + movb 18(%rax), %dl + xorb %dl, 18(%rcx) + movb 19(%rax), %dl + xorb %dl, 19(%rcx) + movb 20(%rax), %dl + xorb %dl, 20(%rcx) + movb 21(%rax), %dl + xorb %dl, 21(%rcx) + movb 22(%rax), %dl + xorb %dl, 22(%rcx) + movb 23(%rax), %dl + xorb %dl, 23(%rcx) + movb 24(%rax), %dl + xorb %dl, 24(%rcx) + movb 25(%rax), %dl + xorb %dl, 25(%rcx) + movb 26(%rax), %dl + xorb %dl, 26(%rcx) + movb 27(%rax), %dl + xorb %dl, 27(%rcx) + movb 28(%rax), %dl + xorb %dl, 28(%rcx) + movb 29(%rax), %dl + xorb %dl, 29(%rcx) + movb 30(%rax), %dl + xorb %dl, 30(%rcx) + movb 31(%rax), %al + xorb %al, 31(%rcx) + xorb $6, 32(%rcx) + xorb $-128, 71(%rcx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_sha3_512_32$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rax + movb (%rcx), %dl + movb %dl, (%rax) + movb 1(%rcx), %dl + movb %dl, 1(%rax) + movb 2(%rcx), %dl + movb %dl, 2(%rax) + movb 3(%rcx), %dl + movb %dl, 3(%rax) + movb 4(%rcx), %dl + movb %dl, 4(%rax) + movb 5(%rcx), %dl + movb %dl, 5(%rax) + movb 6(%rcx), %dl + movb %dl, 6(%rax) + movb 7(%rcx), %dl + movb %dl, 7(%rax) + movb 8(%rcx), %dl + movb %dl, 8(%rax) + movb 9(%rcx), %dl + movb %dl, 9(%rax) + movb 10(%rcx), %dl + movb %dl, 10(%rax) + movb 11(%rcx), %dl + movb %dl, 11(%rax) + movb 12(%rcx), %dl + movb %dl, 12(%rax) + movb 13(%rcx), %dl + movb %dl, 13(%rax) + movb 14(%rcx), %dl + movb %dl, 14(%rax) + movb 15(%rcx), %dl + movb %dl, 15(%rax) + movb 16(%rcx), %dl + movb %dl, 16(%rax) + movb 17(%rcx), %dl + movb %dl, 17(%rax) + movb 18(%rcx), %dl + movb %dl, 18(%rax) + movb 19(%rcx), %dl + movb %dl, 19(%rax) + movb 20(%rcx), %dl + movb %dl, 20(%rax) + movb 21(%rcx), %dl + movb %dl, 21(%rax) + movb 22(%rcx), %dl + movb %dl, 22(%rax) + movb 23(%rcx), %dl + movb %dl, 23(%rax) + movb 24(%rcx), %dl + movb %dl, 24(%rax) + movb 25(%rcx), %dl + movb %dl, 25(%rax) + movb 26(%rcx), %dl + movb %dl, 26(%rax) + movb 27(%rcx), %dl + movb %dl, 27(%rax) + movb 28(%rcx), %dl + movb %dl, 28(%rax) + movb 29(%rcx), %dl + movb %dl, 29(%rax) + movb 30(%rcx), %dl + movb %dl, 30(%rax) + movb 31(%rcx), %dl + movb %dl, 31(%rax) + movb 32(%rcx), %dl + movb %dl, 32(%rax) + movb 33(%rcx), %dl + movb %dl, 33(%rax) + movb 34(%rcx), %dl + movb %dl, 34(%rax) + movb 35(%rcx), %dl + movb %dl, 35(%rax) + movb 36(%rcx), %dl + movb %dl, 36(%rax) + movb 37(%rcx), %dl + movb %dl, 37(%rax) + movb 38(%rcx), %dl + movb %dl, 38(%rax) + movb 39(%rcx), %dl + movb %dl, 39(%rax) + movb 40(%rcx), %dl + movb %dl, 40(%rax) + movb 41(%rcx), %dl + movb %dl, 41(%rax) + movb 42(%rcx), %dl + movb %dl, 42(%rax) + movb 43(%rcx), %dl + movb %dl, 43(%rax) + movb 44(%rcx), %dl + movb %dl, 44(%rax) + movb 45(%rcx), %dl + movb %dl, 45(%rax) + movb 46(%rcx), %dl + movb %dl, 46(%rax) + movb 47(%rcx), %dl + movb %dl, 47(%rax) + movb 48(%rcx), %dl + movb %dl, 48(%rax) + movb 49(%rcx), %dl + movb %dl, 49(%rax) + movb 50(%rcx), %dl + movb %dl, 50(%rax) + movb 51(%rcx), %dl + movb %dl, 51(%rax) + movb 52(%rcx), %dl + movb %dl, 52(%rax) + movb 53(%rcx), %dl + movb %dl, 53(%rax) + movb 54(%rcx), %dl + movb %dl, 54(%rax) + movb 55(%rcx), %dl + movb %dl, 55(%rax) + movb 56(%rcx), %dl + movb %dl, 56(%rax) + movb 57(%rcx), %dl + movb %dl, 57(%rax) + movb 58(%rcx), %dl + movb %dl, 58(%rax) + movb 59(%rcx), %dl + movb %dl, 59(%rax) + movb 60(%rcx), %dl + movb %dl, 60(%rax) + movb 61(%rcx), %dl + movb %dl, 61(%rax) + movb 62(%rcx), %dl + movb %dl, 62(%rax) + movb 63(%rcx), %cl + movb %cl, 63(%rax) + ret +L_shake256_128_33$1: + movq %rcx, 8(%rsp) + leaq 16(%rsp), %rcx + xorq %rsi, %rsi + movq %rsi, (%rcx) + movq %rsi, 8(%rcx) + movq %rsi, 16(%rcx) + movq %rsi, 24(%rcx) + movq %rsi, 32(%rcx) + movq %rsi, 40(%rcx) + movq %rsi, 48(%rcx) + movq %rsi, 56(%rcx) + movq %rsi, 64(%rcx) + movq %rsi, 72(%rcx) + movq %rsi, 80(%rcx) + movq %rsi, 88(%rcx) + movq %rsi, 96(%rcx) + movq %rsi, 104(%rcx) + movq %rsi, 112(%rcx) + movq %rsi, 120(%rcx) + movq %rsi, 128(%rcx) + movq %rsi, 136(%rcx) + movq %rsi, 144(%rcx) + movq %rsi, 152(%rcx) + movq %rsi, 160(%rcx) + movq %rsi, 168(%rcx) + movq %rsi, 176(%rcx) + movq %rsi, 184(%rcx) + movq %rsi, 192(%rcx) + movb (%rdx), %sil + xorb %sil, (%rcx) + movb 1(%rdx), %sil + xorb %sil, 1(%rcx) + movb 2(%rdx), %sil + xorb %sil, 2(%rcx) + movb 3(%rdx), %sil + xorb %sil, 3(%rcx) + movb 4(%rdx), %sil + xorb %sil, 4(%rcx) + movb 5(%rdx), %sil + xorb %sil, 5(%rcx) + movb 6(%rdx), %sil + xorb %sil, 6(%rcx) + movb 7(%rdx), %sil + xorb %sil, 7(%rcx) + movb 8(%rdx), %sil + xorb %sil, 8(%rcx) + movb 9(%rdx), %sil + xorb %sil, 9(%rcx) + movb 10(%rdx), %sil + xorb %sil, 10(%rcx) + movb 11(%rdx), %sil + xorb %sil, 11(%rcx) + movb 12(%rdx), %sil + xorb %sil, 12(%rcx) + movb 13(%rdx), %sil + xorb %sil, 13(%rcx) + movb 14(%rdx), %sil + xorb %sil, 14(%rcx) + movb 15(%rdx), %sil + xorb %sil, 15(%rcx) + movb 16(%rdx), %sil + xorb %sil, 16(%rcx) + movb 17(%rdx), %sil + xorb %sil, 17(%rcx) + movb 18(%rdx), %sil + xorb %sil, 18(%rcx) + movb 19(%rdx), %sil + xorb %sil, 19(%rcx) + movb 20(%rdx), %sil + xorb %sil, 20(%rcx) + movb 21(%rdx), %sil + xorb %sil, 21(%rcx) + movb 22(%rdx), %sil + xorb %sil, 22(%rcx) + movb 23(%rdx), %sil + xorb %sil, 23(%rcx) + movb 24(%rdx), %sil + xorb %sil, 24(%rcx) + movb 25(%rdx), %sil + xorb %sil, 25(%rcx) + movb 26(%rdx), %sil + xorb %sil, 26(%rcx) + movb 27(%rdx), %sil + xorb %sil, 27(%rcx) + movb 28(%rdx), %sil + xorb %sil, 28(%rcx) + movb 29(%rdx), %sil + xorb %sil, 29(%rcx) + movb 30(%rdx), %sil + xorb %sil, 30(%rcx) + movb 31(%rdx), %sil + xorb %sil, 31(%rcx) + movb 32(%rdx), %dl + xorb %dl, 32(%rcx) + xorb $31, 33(%rcx) + xorb $-128, 135(%rcx) + leaq -224(%rsp), %rsp + call L_keccakf1600_ref1$1 +L_shake256_128_33$2: + leaq 224(%rsp), %rsp + movq 8(%rsp), %rdx + movb (%rcx), %sil + movb %sil, (%rdx) + movb 1(%rcx), %sil + movb %sil, 1(%rdx) + movb 2(%rcx), %sil + movb %sil, 2(%rdx) + movb 3(%rcx), %sil + movb %sil, 3(%rdx) + movb 4(%rcx), %sil + movb %sil, 4(%rdx) + movb 5(%rcx), %sil + movb %sil, 5(%rdx) + movb 6(%rcx), %sil + movb %sil, 6(%rdx) + movb 7(%rcx), %sil + movb %sil, 7(%rdx) + movb 8(%rcx), %sil + movb %sil, 8(%rdx) + movb 9(%rcx), %sil + movb %sil, 9(%rdx) + movb 10(%rcx), %sil + movb %sil, 10(%rdx) + movb 11(%rcx), %sil + movb %sil, 11(%rdx) + movb 12(%rcx), %sil + movb %sil, 12(%rdx) + movb 13(%rcx), %sil + movb %sil, 13(%rdx) + movb 14(%rcx), %sil + movb %sil, 14(%rdx) + movb 15(%rcx), %sil + movb %sil, 15(%rdx) + movb 16(%rcx), %sil + movb %sil, 16(%rdx) + movb 17(%rcx), %sil + movb %sil, 17(%rdx) + movb 18(%rcx), %sil + movb %sil, 18(%rdx) + movb 19(%rcx), %sil + movb %sil, 19(%rdx) + movb 20(%rcx), %sil + movb %sil, 20(%rdx) + movb 21(%rcx), %sil + movb %sil, 21(%rdx) + movb 22(%rcx), %sil + movb %sil, 22(%rdx) + movb 23(%rcx), %sil + movb %sil, 23(%rdx) + movb 24(%rcx), %sil + movb %sil, 24(%rdx) + movb 25(%rcx), %sil + movb %sil, 25(%rdx) + movb 26(%rcx), %sil + movb %sil, 26(%rdx) + movb 27(%rcx), %sil + movb %sil, 27(%rdx) + movb 28(%rcx), %sil + movb %sil, 28(%rdx) + movb 29(%rcx), %sil + movb %sil, 29(%rdx) + movb 30(%rcx), %sil + movb %sil, 30(%rdx) + movb 31(%rcx), %sil + movb %sil, 31(%rdx) + movb 32(%rcx), %sil + movb %sil, 32(%rdx) + movb 33(%rcx), %sil + movb %sil, 33(%rdx) + movb 34(%rcx), %sil + movb %sil, 34(%rdx) + movb 35(%rcx), %sil + movb %sil, 35(%rdx) + movb 36(%rcx), %sil + movb %sil, 36(%rdx) + movb 37(%rcx), %sil + movb %sil, 37(%rdx) + movb 38(%rcx), %sil + movb %sil, 38(%rdx) + movb 39(%rcx), %sil + movb %sil, 39(%rdx) + movb 40(%rcx), %sil + movb %sil, 40(%rdx) + movb 41(%rcx), %sil + movb %sil, 41(%rdx) + movb 42(%rcx), %sil + movb %sil, 42(%rdx) + movb 43(%rcx), %sil + movb %sil, 43(%rdx) + movb 44(%rcx), %sil + movb %sil, 44(%rdx) + movb 45(%rcx), %sil + movb %sil, 45(%rdx) + movb 46(%rcx), %sil + movb %sil, 46(%rdx) + movb 47(%rcx), %sil + movb %sil, 47(%rdx) + movb 48(%rcx), %sil + movb %sil, 48(%rdx) + movb 49(%rcx), %sil + movb %sil, 49(%rdx) + movb 50(%rcx), %sil + movb %sil, 50(%rdx) + movb 51(%rcx), %sil + movb %sil, 51(%rdx) + movb 52(%rcx), %sil + movb %sil, 52(%rdx) + movb 53(%rcx), %sil + movb %sil, 53(%rdx) + movb 54(%rcx), %sil + movb %sil, 54(%rdx) + movb 55(%rcx), %sil + movb %sil, 55(%rdx) + movb 56(%rcx), %sil + movb %sil, 56(%rdx) + movb 57(%rcx), %sil + movb %sil, 57(%rdx) + movb 58(%rcx), %sil + movb %sil, 58(%rdx) + movb 59(%rcx), %sil + movb %sil, 59(%rdx) + movb 60(%rcx), %sil + movb %sil, 60(%rdx) + movb 61(%rcx), %sil + movb %sil, 61(%rdx) + movb 62(%rcx), %sil + movb %sil, 62(%rdx) + movb 63(%rcx), %sil + movb %sil, 63(%rdx) + movb 64(%rcx), %sil + movb %sil, 64(%rdx) + movb 65(%rcx), %sil + movb %sil, 65(%rdx) + movb 66(%rcx), %sil + movb %sil, 66(%rdx) + movb 67(%rcx), %sil + movb %sil, 67(%rdx) + movb 68(%rcx), %sil + movb %sil, 68(%rdx) + movb 69(%rcx), %sil + movb %sil, 69(%rdx) + movb 70(%rcx), %sil + movb %sil, 70(%rdx) + movb 71(%rcx), %sil + movb %sil, 71(%rdx) + movb 72(%rcx), %sil + movb %sil, 72(%rdx) + movb 73(%rcx), %sil + movb %sil, 73(%rdx) + movb 74(%rcx), %sil + movb %sil, 74(%rdx) + movb 75(%rcx), %sil + movb %sil, 75(%rdx) + movb 76(%rcx), %sil + movb %sil, 76(%rdx) + movb 77(%rcx), %sil + movb %sil, 77(%rdx) + movb 78(%rcx), %sil + movb %sil, 78(%rdx) + movb 79(%rcx), %sil + movb %sil, 79(%rdx) + movb 80(%rcx), %sil + movb %sil, 80(%rdx) + movb 81(%rcx), %sil + movb %sil, 81(%rdx) + movb 82(%rcx), %sil + movb %sil, 82(%rdx) + movb 83(%rcx), %sil + movb %sil, 83(%rdx) + movb 84(%rcx), %sil + movb %sil, 84(%rdx) + movb 85(%rcx), %sil + movb %sil, 85(%rdx) + movb 86(%rcx), %sil + movb %sil, 86(%rdx) + movb 87(%rcx), %sil + movb %sil, 87(%rdx) + movb 88(%rcx), %sil + movb %sil, 88(%rdx) + movb 89(%rcx), %sil + movb %sil, 89(%rdx) + movb 90(%rcx), %sil + movb %sil, 90(%rdx) + movb 91(%rcx), %sil + movb %sil, 91(%rdx) + movb 92(%rcx), %sil + movb %sil, 92(%rdx) + movb 93(%rcx), %sil + movb %sil, 93(%rdx) + movb 94(%rcx), %sil + movb %sil, 94(%rdx) + movb 95(%rcx), %sil + movb %sil, 95(%rdx) + movb 96(%rcx), %sil + movb %sil, 96(%rdx) + movb 97(%rcx), %sil + movb %sil, 97(%rdx) + movb 98(%rcx), %sil + movb %sil, 98(%rdx) + movb 99(%rcx), %sil + movb %sil, 99(%rdx) + movb 100(%rcx), %sil + movb %sil, 100(%rdx) + movb 101(%rcx), %sil + movb %sil, 101(%rdx) + movb 102(%rcx), %sil + movb %sil, 102(%rdx) + movb 103(%rcx), %sil + movb %sil, 103(%rdx) + movb 104(%rcx), %sil + movb %sil, 104(%rdx) + movb 105(%rcx), %sil + movb %sil, 105(%rdx) + movb 106(%rcx), %sil + movb %sil, 106(%rdx) + movb 107(%rcx), %sil + movb %sil, 107(%rdx) + movb 108(%rcx), %sil + movb %sil, 108(%rdx) + movb 109(%rcx), %sil + movb %sil, 109(%rdx) + movb 110(%rcx), %sil + movb %sil, 110(%rdx) + movb 111(%rcx), %sil + movb %sil, 111(%rdx) + movb 112(%rcx), %sil + movb %sil, 112(%rdx) + movb 113(%rcx), %sil + movb %sil, 113(%rdx) + movb 114(%rcx), %sil + movb %sil, 114(%rdx) + movb 115(%rcx), %sil + movb %sil, 115(%rdx) + movb 116(%rcx), %sil + movb %sil, 116(%rdx) + movb 117(%rcx), %sil + movb %sil, 117(%rdx) + movb 118(%rcx), %sil + movb %sil, 118(%rdx) + movb 119(%rcx), %sil + movb %sil, 119(%rdx) + movb 120(%rcx), %sil + movb %sil, 120(%rdx) + movb 121(%rcx), %sil + movb %sil, 121(%rdx) + movb 122(%rcx), %sil + movb %sil, 122(%rdx) + movb 123(%rcx), %sil + movb %sil, 123(%rdx) + movb 124(%rcx), %sil + movb %sil, 124(%rdx) + movb 125(%rcx), %sil + movb %sil, 125(%rdx) + movb 126(%rcx), %sil + movb %sil, 126(%rdx) + movb 127(%rcx), %cl + movb %cl, 127(%rdx) + ret +L_keccakf1600_ref1$1: + leaq glob_data + 0(%rip), %rdx + movq %rdx, 8(%rsp) + leaq 32(%rsp), %rdx + movq $0, %r11 + jmp L_keccakf1600_ref1$2 +L_keccakf1600_ref1$3: + movq %r11, 16(%rsp) + movq 8(%rsp), %rsi + movq (%rsi,%r11,8), %rsi + movq %rsi, 24(%rsp) + movq (%rcx), %r10 + movq 8(%rcx), %r9 + movq 16(%rcx), %rbx + movq 24(%rcx), %rbp + movq 32(%rcx), %r12 + xorq 40(%rcx), %r10 + xorq 48(%rcx), %r9 + xorq 56(%rcx), %rbx + xorq 64(%rcx), %rbp + xorq 72(%rcx), %r12 + xorq 80(%rcx), %r10 + xorq 88(%rcx), %r9 + xorq 96(%rcx), %rbx + xorq 104(%rcx), %rbp + xorq 112(%rcx), %r12 + xorq 120(%rcx), %r10 + xorq 128(%rcx), %r9 + xorq 136(%rcx), %rbx + xorq 144(%rcx), %rbp + xorq 152(%rcx), %r12 + xorq 160(%rcx), %r10 + xorq 168(%rcx), %r9 + xorq 176(%rcx), %rbx + xorq 184(%rcx), %rbp + xorq 192(%rcx), %r12 + movq %r9, %rsi + rolq $1, %rsi + xorq %r12, %rsi + movq %rbx, %rdi + rolq $1, %rdi + xorq %r10, %rdi + movq %rbp, %r8 + rolq $1, %r8 + xorq %r9, %r8 + movq %r12, %r9 + rolq $1, %r9 + xorq %rbx, %r9 + rolq $1, %r10 + xorq %rbp, %r10 + movq (%rcx), %rbx + xorq %rsi, %rbx + movq 48(%rcx), %rbp + xorq %rdi, %rbp + rolq $44, %rbp + movq 96(%rcx), %r12 + xorq %r8, %r12 + rolq $43, %r12 + movq 144(%rcx), %r13 + xorq %r9, %r13 + rolq $21, %r13 + movq 192(%rcx), %r14 + xorq %r10, %r14 + rolq $14, %r14 + movq %rbp, %r15 + notq %r15 + andq %r12, %r15 + xorq %rbx, %r15 + xorq 24(%rsp), %r15 + movq %r15, (%rdx) + movq %r12, %r15 + notq %r15 + andq %r13, %r15 + xorq %rbp, %r15 + movq %r15, 8(%rdx) + movq %r13, %r15 + notq %r15 + andq %r14, %r15 + xorq %r12, %r15 + movq %r15, 16(%rdx) + movq %r14, %r12 + notq %r12 + andq %rbx, %r12 + xorq %r13, %r12 + movq %r12, 24(%rdx) + notq %rbx + andq %rbp, %rbx + xorq %r14, %rbx + movq %rbx, 32(%rdx) + movq 24(%rcx), %rbx + xorq %r9, %rbx + rolq $28, %rbx + movq 72(%rcx), %rbp + xorq %r10, %rbp + rolq $20, %rbp + movq 80(%rcx), %r12 + xorq %rsi, %r12 + rolq $3, %r12 + movq 128(%rcx), %r13 + xorq %rdi, %r13 + rolq $45, %r13 + movq 176(%rcx), %r14 + xorq %r8, %r14 + rolq $61, %r14 + movq %rbp, %r15 + notq %r15 + andq %r12, %r15 + xorq %rbx, %r15 + movq %r15, 40(%rdx) + movq %r12, %r15 + notq %r15 + andq %r13, %r15 + xorq %rbp, %r15 + movq %r15, 48(%rdx) + movq %r13, %r15 + notq %r15 + andq %r14, %r15 + xorq %r12, %r15 + movq %r15, 56(%rdx) + movq %r14, %r12 + notq %r12 + andq %rbx, %r12 + xorq %r13, %r12 + movq %r12, 64(%rdx) + notq %rbx + andq %rbp, %rbx + xorq %r14, %rbx + movq %rbx, 72(%rdx) + movq 8(%rcx), %rbx + xorq %rdi, %rbx + rolq $1, %rbx + movq 56(%rcx), %rbp + xorq %r8, %rbp + rolq $6, %rbp + movq 104(%rcx), %r12 + xorq %r9, %r12 + rolq $25, %r12 + movq 152(%rcx), %r13 + xorq %r10, %r13 + rolq $8, %r13 + movq 160(%rcx), %r14 + xorq %rsi, %r14 + rolq $18, %r14 + movq %rbp, %r15 + notq %r15 + andq %r12, %r15 + xorq %rbx, %r15 + movq %r15, 80(%rdx) + movq %r12, %r15 + notq %r15 + andq %r13, %r15 + xorq %rbp, %r15 + movq %r15, 88(%rdx) + movq %r13, %r15 + notq %r15 + andq %r14, %r15 + xorq %r12, %r15 + movq %r15, 96(%rdx) + movq %r14, %r12 + notq %r12 + andq %rbx, %r12 + xorq %r13, %r12 + movq %r12, 104(%rdx) + notq %rbx + andq %rbp, %rbx + xorq %r14, %rbx + movq %rbx, 112(%rdx) + movq 32(%rcx), %rbx + xorq %r10, %rbx + rolq $27, %rbx + movq 40(%rcx), %rbp + xorq %rsi, %rbp + rolq $36, %rbp + movq 88(%rcx), %r12 + xorq %rdi, %r12 + rolq $10, %r12 + movq 136(%rcx), %r13 + xorq %r8, %r13 + rolq $15, %r13 + movq 184(%rcx), %r14 + xorq %r9, %r14 + rolq $56, %r14 + movq %rbp, %r15 + notq %r15 + andq %r12, %r15 + xorq %rbx, %r15 + movq %r15, 120(%rdx) + movq %r12, %r15 + notq %r15 + andq %r13, %r15 + xorq %rbp, %r15 + movq %r15, 128(%rdx) + movq %r13, %r15 + notq %r15 + andq %r14, %r15 + xorq %r12, %r15 + movq %r15, 136(%rdx) + movq %r14, %r12 + notq %r12 + andq %rbx, %r12 + xorq %r13, %r12 + movq %r12, 144(%rdx) + notq %rbx + andq %rbp, %rbx + xorq %r14, %rbx + movq %rbx, 152(%rdx) + movq 16(%rcx), %rbx + xorq %r8, %rbx + rolq $62, %rbx + movq 64(%rcx), %r8 + xorq %r9, %r8 + rolq $55, %r8 + movq 112(%rcx), %r9 + xorq %r10, %r9 + rolq $39, %r9 + movq 120(%rcx), %r10 + xorq %rsi, %r10 + rolq $41, %r10 + movq 168(%rcx), %rsi + xorq %rdi, %rsi + rolq $2, %rsi + movq %r8, %rdi + notq %rdi + andq %r9, %rdi + xorq %rbx, %rdi + movq %rdi, 160(%rdx) + movq %r9, %rdi + notq %rdi + andq %r10, %rdi + xorq %r8, %rdi + movq %rdi, 168(%rdx) + movq %r10, %rdi + notq %rdi + andq %rsi, %rdi + xorq %r9, %rdi + movq %rdi, 176(%rdx) + movq %rsi, %rdi + notq %rdi + andq %rbx, %rdi + xorq %r10, %rdi + movq %rdi, 184(%rdx) + notq %rbx + andq %r8, %rbx + xorq %rsi, %rbx + movq %rbx, 192(%rdx) + movq 8(%rsp), %rsi + movq 8(%rsi,%r11,8), %rsi + movq %rsi, 24(%rsp) + movq (%rdx), %r10 + movq 8(%rdx), %r9 + movq 16(%rdx), %r11 + movq 24(%rdx), %rbx + movq 32(%rdx), %rbp + xorq 40(%rdx), %r10 + xorq 48(%rdx), %r9 + xorq 56(%rdx), %r11 + xorq 64(%rdx), %rbx + xorq 72(%rdx), %rbp + xorq 80(%rdx), %r10 + xorq 88(%rdx), %r9 + xorq 96(%rdx), %r11 + xorq 104(%rdx), %rbx + xorq 112(%rdx), %rbp + xorq 120(%rdx), %r10 + xorq 128(%rdx), %r9 + xorq 136(%rdx), %r11 + xorq 144(%rdx), %rbx + xorq 152(%rdx), %rbp + xorq 160(%rdx), %r10 + xorq 168(%rdx), %r9 + xorq 176(%rdx), %r11 + xorq 184(%rdx), %rbx + xorq 192(%rdx), %rbp + movq %r9, %rsi + rolq $1, %rsi + xorq %rbp, %rsi + movq %r11, %rdi + rolq $1, %rdi + xorq %r10, %rdi + movq %rbx, %r8 + rolq $1, %r8 + xorq %r9, %r8 + movq %rbp, %r9 + rolq $1, %r9 + xorq %r11, %r9 + rolq $1, %r10 + xorq %rbx, %r10 + movq (%rdx), %r11 + xorq %rsi, %r11 + movq 48(%rdx), %rbx + xorq %rdi, %rbx + rolq $44, %rbx + movq 96(%rdx), %rbp + xorq %r8, %rbp + rolq $43, %rbp + movq 144(%rdx), %r12 + xorq %r9, %r12 + rolq $21, %r12 + movq 192(%rdx), %r13 + xorq %r10, %r13 + rolq $14, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + xorq 24(%rsp), %r14 + movq %r14, (%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 8(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 16(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 24(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 32(%rcx) + movq 24(%rdx), %r11 + xorq %r9, %r11 + rolq $28, %r11 + movq 72(%rdx), %rbx + xorq %r10, %rbx + rolq $20, %rbx + movq 80(%rdx), %rbp + xorq %rsi, %rbp + rolq $3, %rbp + movq 128(%rdx), %r12 + xorq %rdi, %r12 + rolq $45, %r12 + movq 176(%rdx), %r13 + xorq %r8, %r13 + rolq $61, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 40(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 48(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 56(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 64(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 72(%rcx) + movq 8(%rdx), %r11 + xorq %rdi, %r11 + rolq $1, %r11 + movq 56(%rdx), %rbx + xorq %r8, %rbx + rolq $6, %rbx + movq 104(%rdx), %rbp + xorq %r9, %rbp + rolq $25, %rbp + movq 152(%rdx), %r12 + xorq %r10, %r12 + rolq $8, %r12 + movq 160(%rdx), %r13 + xorq %rsi, %r13 + rolq $18, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 80(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 88(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 96(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 104(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 112(%rcx) + movq 32(%rdx), %r11 + xorq %r10, %r11 + rolq $27, %r11 + movq 40(%rdx), %rbx + xorq %rsi, %rbx + rolq $36, %rbx + movq 88(%rdx), %rbp + xorq %rdi, %rbp + rolq $10, %rbp + movq 136(%rdx), %r12 + xorq %r8, %r12 + rolq $15, %r12 + movq 184(%rdx), %r13 + xorq %r9, %r13 + rolq $56, %r13 + movq %rbx, %r14 + notq %r14 + andq %rbp, %r14 + xorq %r11, %r14 + movq %r14, 120(%rcx) + movq %rbp, %r14 + notq %r14 + andq %r12, %r14 + xorq %rbx, %r14 + movq %r14, 128(%rcx) + movq %r12, %r14 + notq %r14 + andq %r13, %r14 + xorq %rbp, %r14 + movq %r14, 136(%rcx) + movq %r13, %rbp + notq %rbp + andq %r11, %rbp + xorq %r12, %rbp + movq %rbp, 144(%rcx) + notq %r11 + andq %rbx, %r11 + xorq %r13, %r11 + movq %r11, 152(%rcx) + movq 16(%rdx), %r11 + xorq %r8, %r11 + rolq $62, %r11 + movq 64(%rdx), %r8 + xorq %r9, %r8 + rolq $55, %r8 + movq 112(%rdx), %r9 + xorq %r10, %r9 + rolq $39, %r9 + movq 120(%rdx), %r10 + xorq %rsi, %r10 + rolq $41, %r10 + movq 168(%rdx), %rsi + xorq %rdi, %rsi + rolq $2, %rsi + movq %r8, %rdi + notq %rdi + andq %r9, %rdi + xorq %r11, %rdi + movq %rdi, 160(%rcx) + movq %r9, %rdi + notq %rdi + andq %r10, %rdi + xorq %r8, %rdi + movq %rdi, 168(%rcx) + movq %r10, %rdi + notq %rdi + andq %rsi, %rdi + xorq %r9, %rdi + movq %rdi, 176(%rcx) + movq %rsi, %rdi + notq %rdi + andq %r11, %rdi + xorq %r10, %rdi + movq %rdi, 184(%rcx) + notq %r11 + andq %r8, %r11 + xorq %rsi, %r11 + movq %r11, 192(%rcx) + movq 16(%rsp), %r11 + addq $2, %r11 +L_keccakf1600_ref1$2: + cmpq $23, %r11 + jb L_keccakf1600_ref1$3 + ret + .data + .p2align 5 +_glob_data: +glob_data: + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -126 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -118 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -117 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 9 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -118 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -120 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 9 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -117 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -119 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 3 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 2 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 10 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 10 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -127 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -128 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte 1 + .byte 0 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .byte -128 + .byte 0 + .byte -128 + .byte 0 + .byte 0 + .byte 0 + .byte -128 + .byte -91 + .byte 6 + .byte 15 + .byte 7 + .byte -76 + .byte 5 + .byte 67 + .byte 9 + .byte 34 + .byte 9 + .byte 29 + .byte 9 + .byte 52 + .byte 1 + .byte 108 + .byte 0 + .byte 35 + .byte 11 + .byte 102 + .byte 3 + .byte 86 + .byte 3 + .byte -26 + .byte 5 + .byte -25 + .byte 9 + .byte -2 + .byte 4 + .byte -6 + .byte 5 + .byte -95 + .byte 4 + .byte 123 + .byte 6 + .byte -93 + .byte 4 + .byte 37 + .byte 12 + .byte 106 + .byte 3 + .byte 55 + .byte 5 + .byte 63 + .byte 8 + .byte -120 + .byte 0 + .byte -65 + .byte 4 + .byte -127 + .byte 11 + .byte -71 + .byte 5 + .byte 5 + .byte 5 + .byte -41 + .byte 7 + .byte -97 + .byte 10 + .byte -90 + .byte 10 + .byte -72 + .byte 8 + .byte -48 + .byte 9 + .byte 75 + .byte 0 + .byte -100 + .byte 0 + .byte -72 + .byte 11 + .byte 95 + .byte 11 + .byte -92 + .byte 11 + .byte 104 + .byte 3 + .byte 125 + .byte 10 + .byte 54 + .byte 6 + .byte -94 + .byte 8 + .byte 90 + .byte 2 + .byte 54 + .byte 7 + .byte 9 + .byte 3 + .byte -109 + .byte 0 + .byte 122 + .byte 8 + .byte -9 + .byte 9 + .byte -10 + .byte 0 + .byte -116 + .byte 6 + .byte -37 + .byte 6 + .byte -52 + .byte 1 + .byte 35 + .byte 1 + .byte -21 + .byte 0 + .byte 80 + .byte 12 + .byte -74 + .byte 10 + .byte 91 + .byte 11 + .byte -104 + .byte 12 + .byte -13 + .byte 6 + .byte -102 + .byte 9 + .byte -29 + .byte 4 + .byte -74 + .byte 9 + .byte -42 + .byte 10 + .byte 83 + .byte 11 + .byte 79 + .byte 4 + .byte -5 + .byte 4 + .byte 92 + .byte 10 + .byte 41 + .byte 4 + .byte 65 + .byte 11 + .byte -43 + .byte 2 + .byte -28 + .byte 5 + .byte 64 + .byte 9 + .byte -114 + .byte 1 + .byte -73 + .byte 3 + .byte -9 + .byte 0 + .byte -115 + .byte 5 + .byte -106 + .byte 12 + .byte -61 + .byte 9 + .byte 15 + .byte 1 + .byte 90 + .byte 0 + .byte 85 + .byte 3 + .byte 68 + .byte 7 + .byte -125 + .byte 12 + .byte -118 + .byte 4 + .byte 82 + .byte 6 + .byte -102 + .byte 2 + .byte 64 + .byte 1 + .byte 8 + .byte 0 + .byte -3 + .byte 10 + .byte 8 + .byte 6 + .byte 26 + .byte 1 + .byte 46 + .byte 7 + .byte 13 + .byte 5 + .byte 10 + .byte 9 + .byte 40 + .byte 2 + .byte 117 + .byte 10 + .byte 58 + .byte 8 + .byte 35 + .byte 6 + .byte -51 + .byte 0 + .byte 102 + .byte 11 + .byte 6 + .byte 6 + .byte -95 + .byte 10 + .byte 37 + .byte 10 + .byte 8 + .byte 9 + .byte -87 + .byte 2 + .byte -126 + .byte 0 + .byte 66 + .byte 6 + .byte 79 + .byte 7 + .byte 61 + .byte 3 + .byte -126 + .byte 11 + .byte -7 + .byte 11 + .byte 45 + .byte 5 + .byte -60 + .byte 10 + .byte 69 + .byte 7 + .byte -62 + .byte 5 + .byte -78 + .byte 4 + .byte 63 + .byte 9 + .byte 75 + .byte 12 + .byte -40 + .byte 6 + .byte -109 + .byte 10 + .byte -85 + .byte 0 + .byte 55 + .byte 12 + .byte -30 + .byte 11 + .byte 115 + .byte 7 + .byte 44 + .byte 7 + .byte -19 + .byte 5 + .byte 103 + .byte 1 + .byte -10 + .byte 2 + .byte -95 + .byte 5 + .byte -19 + .byte 8 + .byte 11 + .byte 10 + .byte -102 + .byte 11 + .byte 20 + .byte 7 + .byte -43 + .byte 5 + .byte -114 + .byte 5 + .byte 31 + .byte 1 + .byte -54 + .byte 0 + .byte 86 + .byte 12 + .byte 110 + .byte 2 + .byte 41 + .byte 6 + .byte -74 + .byte 0 + .byte -62 + .byte 3 + .byte 79 + .byte 8 + .byte 63 + .byte 7 + .byte -68 + .byte 5 + .byte 61 + .byte 2 + .byte -44 + .byte 7 + .byte 8 + .byte 1 + .byte 127 + .byte 1 + .byte -60 + .byte 9 + .byte -78 + .byte 5 + .byte -65 + .byte 6 + .byte 127 + .byte 12 + .byte 88 + .byte 10 + .byte -7 + .byte 3 + .byte -36 + .byte 2 + .byte 96 + .byte 2 + .byte -5 + .byte 6 + .byte -101 + .byte 1 + .byte 52 + .byte 12 + .byte -34 + .byte 6 + .byte -57 + .byte 4 + .byte -116 + .byte 2 + .byte -39 + .byte 10 + .byte -9 + .byte 3 + .byte -12 + .byte 7 + .byte -45 + .byte 5 + .byte -25 + .byte 11 + .byte -7 + .byte 6 + .byte 4 + .byte 2 + .byte -7 + .byte 12 + .byte -63 + .byte 11 + .byte 103 + .byte 10 + .byte -81 + .byte 6 + .byte 119 + .byte 8 + .byte 126 + .byte 0 + .byte -67 + .byte 5 + .byte -84 + .byte 9 + .byte -89 + .byte 12 + .byte -14 + .byte 11 + .byte 62 + .byte 3 + .byte 107 + .byte 0 + .byte 116 + .byte 7 + .byte 10 + .byte 12 + .byte 74 + .byte 9 + .byte 115 + .byte 11 + .byte -63 + .byte 3 + .byte 29 + .byte 7 + .byte 44 + .byte 10 + .byte -64 + .byte 1 + .byte -40 + .byte 8 + .byte -91 + .byte 2 + .byte 6 + .byte 8 + .byte -78 + .byte 8 + .byte -82 + .byte 1 + .byte 43 + .byte 2 + .byte 75 + .byte 3 + .byte 30 + .byte 8 + .byte 103 + .byte 3 + .byte 14 + .byte 6 + .byte 105 + .byte 0 + .byte -90 + .byte 1 + .byte 75 + .byte 2 + .byte -79 + .byte 0 + .byte 22 + .byte 12 + .byte -34 + .byte 11 + .byte 53 + .byte 11 + .byte 38 + .byte 6 + .byte 117 + .byte 6 + .byte 11 + .byte 12 + .byte 10 + .byte 3 + .byte -121 + .byte 4 + .byte 110 + .byte 12 + .byte -8 + .byte 9 + .byte -53 + .byte 5 + .byte -89 + .byte 10 + .byte 95 + .byte 4 + .byte -53 + .byte 6 + .byte -124 + .byte 2 + .byte -103 + .byte 9 + .byte 93 + .byte 1 + .byte -94 + .byte 1 + .byte 73 + .byte 1 + .byte 101 + .byte 12 + .byte -74 + .byte 12 + .byte 49 + .byte 3 + .byte 73 + .byte 4 + .byte 91 + .byte 2 + .byte 98 + .byte 2 + .byte 42 + .byte 5 + .byte -4 + .byte 7 + .byte 72 + .byte 7 + .byte -128 + .byte 1 + .byte 66 + .byte 8 + .byte 121 + .byte 12 + .byte -62 + .byte 4 + .byte -54 + .byte 7 + .byte -105 + .byte 9 + .byte -36 + .byte 0 + .byte 94 + .byte 8 + .byte -122 + .byte 6 + .byte 96 + .byte 8 + .byte 7 + .byte 7 + .byte 3 + .byte 8 + .byte 26 + .byte 3 + .byte 27 + .byte 7 + .byte -85 + .byte 9 + .byte -101 + .byte 9 + .byte -34 + .byte 1 + .byte -107 + .byte 12 + .byte -51 + .byte 11 + .byte -28 + .byte 3 + .byte -33 + .byte 3 + .byte -66 + .byte 3 + .byte 77 + .byte 7 + .byte -14 + .byte 5 + .byte 92 + .byte 6 diff --git a/src/oqsconfig.h.cmake b/src/oqsconfig.h.cmake index f16421fa4..f162d0666 100644 --- a/src/oqsconfig.h.cmake +++ b/src/oqsconfig.h.cmake @@ -201,6 +201,17 @@ #cmakedefine OQS_ENABLE_SIG_mayo_5_avx2 1 ///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END +///// OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ALG_ENABLE_DEFINES_START + +#cmakedefine01 OQS_LIBJADE_BUILD + +#cmakedefine OQS_ENABLE_LIBJADE_KEM_KYBER 1 +#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_512 1 +#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_512_avx2 1 +#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_768 1 +#cmakedefine OQS_ENABLE_LIBJADE_KEM_kyber_768_avx2 1 +///// OQS_COPY_FROM_LIBJADE_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END + #cmakedefine OQS_ENABLE_SIG_STFL_XMSS 1 #cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h10 1 #cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h16 1 diff --git a/tests/system_info.c b/tests/system_info.c index 0b217d1ee..248d377cd 100644 --- a/tests/system_info.c +++ b/tests/system_info.c @@ -263,6 +263,9 @@ static void print_oqs_configuration(void) { #ifdef OQS_DIST_BUILD printf("OQS_DIST_BUILD "); #endif +#ifdef OQS_LIBJADE_BUILD + printf("OQS_LIBJADE_BUILD "); +#endif #ifdef OQS_BUILD_ONLY_LIB printf("OQS_BUILD_ONLY_LIB "); // pretty much impossible to appear but added for completeness #endif diff --git a/tests/test_binary.py b/tests/test_binary.py index 1c33093ae..53e114df0 100644 --- a/tests/test_binary.py +++ b/tests/test_binary.py @@ -33,7 +33,7 @@ def test_namespace(): symbols.append(line) # ideally this would be just ['oqs', 'pqclean'], but contains exceptions (e.g., providing compat implementations of unavailable platform functions) - namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'pqmayo', 'init', 'fini', 'seedexpander', '__x86.get_pc_thunk'] + namespaces = ['oqs', 'pqclean', 'keccak', 'pqcrystals', 'pqmayo', 'init', 'fini', 'seedexpander', '__x86.get_pc_thunk', 'libjade', 'jade', '__jade', '__jasmin_syscall'] non_namespaced = [] for symbolstr in symbols: